0

画像を Web ページに表示したいが、Magento モジュールに含まれています。

  1. それらをどのフォルダに入れますか?
  2. それらを参照するにはどうすればよいですか? (モジュール パスの変数が必要です。)

ドキュメント、さまざまな外部チュートリアル、および Google 検索は役に立ちません。

design/frontend/default/defaultフォルダの下に表示されるのはetc layout locale template、画像を配置する場所だけです。

skin/frontend/defaultフォルダに入れますか?もしそうなら、どこですか?

4

2 に答える 2

9

モジュールがMagento1.4以降に適用されると仮定すると、画像は./skin/frontend/base/default/images/、理想的にはモジュールの名前空間と名前を示すフォルダに属しますnamespace_module。これらは、次の方法で参照できます。

  • モジュールCSSファイルbase/default/css/namespace_module/file.cssurl(../../images/namespace_module/image.jpg)

  • テンプレート(またはブロック):$this->getSkinUrl('images/namespace_module/image.jpg')

  • どこでも:Mage::getDesign()->getSkinUrl('images/namespace_module/image.jpg');

参考までに、ディレクトリの下に./app/はブラウザから直接アクセスされるものはありません(アクセスする必要があります)。

于 2012-07-01T19:06:45.830 に答える
1

画像を拡張機能の一部として配布する代わりに、Web サーバー (または他のユーザーの) でホストし、URL で拡張機能に含めることもできます。

その場合、基本的な管理ページに画像を表示したい場合は、html を system.xml に直接入力します (最初にエスケープします)。それ以外の場合は、テンプレートに含める場合は、imghtml タグを付けて挿入してください。

このアプローチにはいくつかの利点があります。

1) 毎月 Apache ログを見て、画像が表示された回数 (つまり、拡張機能をインストールした人の数) を確認できます。また、リファラー HTTP ヘッダーから、それを使用しているサイトも確認できます。

2) 大成功を収めたインターネット企業が買収された場合、拡張機能の新しいバージョンを展開することなく、Web サーバー上の別の logo.jpg に簡単に交換できます。

したがって、これは正しい方法ではありませんが、いくつかの利点がある単純な方法です。

于 2012-07-02T08:23:42.583 に答える