Risposte:
Il rendering di questi URL viene eseguito durante la visualizzazione di pagine CMS o blocchi
\Mage_Core_Model_Email_Template_Filter::mediaDirective
:
public function mediaDirective($construction)
{
$params = $this->_getIncludeParameters($construction[2]);
return Mage::getBaseUrl('media') . $params['url'];
}
Basati su questo codice, solo un
<img src="<?php echo Mage::getBaseUrl('media') ?>image.jpg">
può essere utilizzato nel modello
Mage_Core_Model_Store::URL_TYPE_MEDIA
invece di 'media'
?
In un file modello phtml:
Mage::getBaseUrl('media') . $url;
In un blocco o pagina CMS:
{{store direct_url="media/url"}}
La differenza tra {{media url="foo"}}
e {{store direct_url="media/foo"}}
è che quest'ultimo codifica il percorso della directory multimediale come media
.
Ciò potrebbe causare problemi quando si utilizza un CDN o qualcosa del genere, perché ignora Mage::getBaseUrl('media')
.
{{store direct_url="media/url"}}
e {{media url="foo"}}
?
`
) dal secondo frammento di codice (dopo?>image.jpg">
). (Non riesco a modificare meno di 6 lettere)