通常のブロックテンプレートのCMS指令{{media url =“…”}}と同等


14

{{media url="wysiwyg/image.jpg"}}これを通常の.phtmlファイル(タイプcore/template)で使用する場合、CMSページで使用できるものと同等のものは何ですか

回答:


14

このようなURLのレンダリングは、CMSページまたはブロックを表示するときに行われます

\Mage_Core_Model_Email_Template_Filter::mediaDirective:

public function mediaDirective($construction)
{
    $params = $this->_getIncludeParameters($construction[2]);
    return Mage::getBaseUrl('media') . $params['url'];
}

このコードに基づいて、ただ

<img src="<?php echo Mage::getBaseUrl('media') ?>image.jpg">

テンプレートで使用できます


2
`2番目のコードスニペット(の後?>image.jpg">)からblockquote()を削除するだけです。(6文字未満を編集することはできません)
— hims056

2
+1しかしMage_Core_Model_Store::URL_TYPE_MEDIA、'media'?の代わりに渡す方が良いかもしれません。
— ニックロランド14

12

phtmlテンプレートファイル:

Mage::getBaseUrl('media') . $url;

CMSブロックまたはページ内:

{{store direct_url="media/url"}}

差{{media url="foo"}}とは、{{store direct_url="media/foo"}}後者のハードコードメディアディレクトリパスとしてということですmedia。
をバイパスするため、CDNなどを使用すると問題が発生する可能性がありますMage::getBaseUrl('media')。


違いは何である{{store direct_url="media/url"}}とは{{media url="foo"}}?
— アレックス

それに応じて私の答えを更新しました。
— ビナイ

ありがとうございました。また、質問をより明確にするために編集しました-写真の完全なURLが必要です。実際、私は自分の答えを喜んで受け入れます;-) ---私は私の問題を最もよく知っているので:-P-
— アレックス

4
以下に注意してください:{{store direct_url = "media / url"}}-> mod_rewriteが無効になっていると、urlにindex.phpが導入され、メディアのURLが破損する場合があります。
— MagePsycho

1
@MagePsycho:良い点。幸運なことに、mod_rewriteを無効にしてhaストアを持ったことがありません。
— ヴィナイ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.