ホームページ  >  記事  >  バックエンド開発  >  Smarty テンプレートのパスの問題

Smarty テンプレートのパスの問題

WBOY
WBOYオリジナル
2016-06-23 14:24:481061ブラウズ

Smarty を使用しているときに、テンプレート ページの CSS と画像のリンク パスが間違っていると、Baidu はインポートしたパスが正しいはずだと言いました。


助けてください。


ディスカッションへの返信 (解決策)

1. www.yourweb.com/css/xxx.css などの Web サイトのドメイン名を追加するのが最善です
Smarty 親クラスに URL を登録しますテンプレート。グローバルを追加します
2. 自分でデバッグします。うまくいかない場合は、/../../css/xxx.css を追加して、何度か試してみてはいかがでしょうか。難しい問題ではありません

1. www.yourweb.com/css/xxx.css などの Web サイトのドメイン名を追加するのが最善です
Smarty の親テンプレートに URL を登録します。グローバルを追加します
2. 自分でデバッグします。うまくいかない場合は、/../../css/xxx.css を追加して、何度か試してみてはいかがでしょうか。難しい問題ではありません。これは、HTML ページを直接開くのが正しいのですが、PHP 経由でテンプレートを削除すると、CSS が機能しなくなります

次に、テンプレートからの相対パスを試してみてください。

出力パスは php に相対的です

Smarty アプリケーションでは、すべての URL 相対パスは、smarty オブジェクトをインスタンス化するプログラムの $_SERVER['PHP_SELF'] に相対的です
画像、スタイル シート、外部の場合は、次のようにするのが最善ですリンクされた JS には URL 絶対パスを使用します。

Smarty アプリケーションでは、すべての URL 相対パスは、Smarty オブジェクトをインスタンス化するプログラムの $_SERVER['PHP_SELF'] に相対します。

画像、スタイル シート、外部パスを使用するのが最適です。リンクされた js の URL 絶対パス

ページに しかし、実際のページが出てくると、


これはなぜですか?ああ、私はこれに慣れていないので、簡単すぎても驚かないでください。 。 。 。また、実際のページの CSS をクリックすると、接続されたアドレスは http://cast.com/admin/product/styles/general.css でした。つまり、product フォルダー内にあったということです。
絶対を記述します。パス。

絶対パスを書くことはできませんか?絶対って書けないの? 。 。それも正しくありません。 。たとえば、ca.com/styles/mian.css となるはずです。最終的な解析結果は ca.com/product/styles/mian.css です

ページに明確に書いたのは

しかし、実際のページが公開された後は



2 つのアドレスが同じであるため、これはブラウザの解析の問題である可能性があります。よく考えてみると、スタイル フォルダーは次のとおりです。現在のファイルの親ディレクトリは現在のディレクトリと同じですか?

間違った Smarty パスについては、新しい Smarty を使用している場所を確認し、そのファイルに基づいて相対パスを記述してください。

より良い方法は、サーバーに基づいて絶対パスを記述することです (Web サイトに基づいていない)


つまり、バージョン 5# の大文字の 2 行をよく見てください。 PHP の知識と長年の経験に基づいてまとめられた回答と良い提案

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。