Normal Blok Şablonlarındaki {{media url = “…”}} CMS Yönergesine eşdeğer


14

{{media url="wysiwyg/image.jpg"}}Eğer normal bir .phtmldosyada (türünde core/template) kullanmak istiyorsak eşdeğeri CMS sayfalarında kullanılabilir.

Yanıtlar:


14

Bu tür URL'lerin oluşturulması, CMS sayfalarını veya bloklarını

\Mage_Core_Model_Email_Template_Filter::mediaDirective:

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

Bu koda dayanarak, sadece bir

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

şablonda kullanılabilir


2
Blockquote'u ( `) ikinci kod snippet'inden (sonra ?>image.jpg">) kaldırmanız yeterlidir . (6 harften az düzenleyemiyorum)
hims056 21:13

2
+1 Ama Mage_Core_Model_Store::URL_TYPE_MEDIAyerine geçmek daha iyi olabilir 'media'mi?
Nick Rolando

12

Bir phtml şablon dosyasında:

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

Bir CMS bloğunda veya sayfasında:

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

Arasındaki fark {{media url="foo"}}ve {{store direct_url="media/foo"}}bu sonuncuyu hardcodes olduğu gibi medya dizin yolu media.
Bu bir CDN veya başka bir şey kullanırken sorunlara yol açabilir, çünkü baypas eder Mage::getBaseUrl('media').


{{store direct_url="media/url"}}ve arasındaki fark {{media url="foo"}}nedir?
Alex

Cevabımı buna göre güncelledi.
Vinai

Teşekkür ederim. Daha açık bir şekilde ortaya koymak için sorumu da düzenledim - bir resmin tam URL'sini istiyorum. Aslında kendi cevabımı kabul etmekten mutluluk duyarım ;-) --- sorunumu en iyi bildiğim gibi :-P
Alex

4
Şunu unutmayın: {{store direct_url = "media / url"}} -> mod_rewrite devre dışı bırakılmışsa, bu url'de index.php dosyasını tanıtabilir ve dolayısıyla medya url'sini kırabilir.
MagePsycho

1
@MagePsycho: iyi bir nokta. Şanslı hiç mod_rewrite devre dışı ha mağaza vardı.
Vinai
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.