Réponses:
Le rendu de ces URL se fait lors de l'affichage des pages CMS ou des blocs dans
\Mage_Core_Model_Email_Template_Filter::mediaDirective:
public function mediaDirective($construction)
{
$params = $this->_getIncludeParameters($construction[2]);
return Mage::getBaseUrl('media') . $params['url'];
}
Base sur ce code, juste un
<img src="<?php echo Mage::getBaseUrl('media') ?>image.jpg">
peut être utilisé dans le modèle
Mage_Core_Model_Store::URL_TYPE_MEDIAau lieu de 'media'?
Dans un fichier de modèle phtml:
Mage::getBaseUrl('media') . $url;
Dans un bloc ou une page CMS:
{{store direct_url="media/url"}}
La différence entre {{media url="foo"}}et {{store direct_url="media/foo"}}est que ce dernier code en dur le chemin du répertoire multimédia en tant que media.
Cela peut entraîner des problèmes lors de l'utilisation d'un CDN ou autre, car il contourne Mage::getBaseUrl('media').
{{store direct_url="media/url"}}et {{media url="foo"}}?
`) du deuxième extrait de code (après?>image.jpg">). (Je ne peux pas éditer moins de 6 lettres)