Odpowiedzi:
Renderowanie takich adresów URL odbywa się podczas wyświetlania stron CMS lub bloków
\Mage_Core_Model_Email_Template_Filter::mediaDirective
:
public function mediaDirective($construction)
{
$params = $this->_getIncludeParameters($construction[2]);
return Mage::getBaseUrl('media') . $params['url'];
}
Opieraj się na tym kodzie, po prostu
<img src="<?php echo Mage::getBaseUrl('media') ?>image.jpg">
może być użyty w szablonie
Mage_Core_Model_Store::URL_TYPE_MEDIA
zamiast 'media'
?
W pliku szablonu phtml:
Mage::getBaseUrl('media') . $url;
W bloku lub stronie CMS:
{{store direct_url="media/url"}}
Różnica między {{media url="foo"}}
i {{store direct_url="media/foo"}}
polega na tym, że ta ostatnia koduje ścieżkę katalogu multimediów jako media
.
Może to prowadzić do problemów podczas korzystania z CDN lub czegoś takiego, ponieważ omija Mage::getBaseUrl('media')
.
{{store direct_url="media/url"}}
i {{media url="foo"}}
?
`
) z drugiego fragmentu kodu (po?>image.jpg">
). (Nie mogę edytować mniej niż 6 liter)