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_MEDIA
au 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)