Antworten:
Das Rendern solcher URLs erfolgt beim Anzeigen von CMS-Seiten oder Blöcken in
\Mage_Core_Model_Email_Template_Filter::mediaDirective
:
public function mediaDirective($construction)
{
$params = $this->_getIncludeParameters($construction[2]);
return Mage::getBaseUrl('media') . $params['url'];
}
Gestützt auf diesen Code, nur ein
<img src="<?php echo Mage::getBaseUrl('media') ?>image.jpg">
kann in der Vorlage verwendet werden
Mage_Core_Model_Store::URL_TYPE_MEDIA
statt zu passen 'media'
?
In einer HTML-Vorlagendatei:
Mage::getBaseUrl('media') . $url;
In einem CMS-Block oder einer Seite:
{{store direct_url="media/url"}}
Der Unterschied zwischen {{media url="foo"}}
und {{store direct_url="media/foo"}}
besteht darin, dass letzterer den Pfad des Medienverzeichnisses fest codiert media
.
Dies kann zu Problemen bei der Verwendung eines CDN oder Ähnlichem führen, da es umgeht Mage::getBaseUrl('media')
.
{{store direct_url="media/url"}}
und {{media url="foo"}}
?
`
) aus dem zweiten Code-Snippet (nachher?>image.jpg">
). (Ich kann nicht weniger als 6 Buchstaben bearbeiten)