Câu trả lời:
Việc hiển thị các URL như vậy được thực hiện khi hiển thị các trang hoặc khối CMS trong
\Mage_Core_Model_Email_Template_Filter::mediaDirective
:
public function mediaDirective($construction)
{
$params = $this->_getIncludeParameters($construction[2]);
return Mage::getBaseUrl('media') . $params['url'];
}
Dựa trên mã này, chỉ là một
<img src="<?php echo Mage::getBaseUrl('media') ?>image.jpg">
có thể được sử dụng trong mẫu
Mage_Core_Model_Store::URL_TYPE_MEDIA
thay vì 'media'
?
Trong tệp mẫu phtml:
Mage::getBaseUrl('media') . $url;
Trong một khối hoặc trang CMS:
{{store direct_url="media/url"}}
Sự khác biệt giữa {{media url="foo"}}
và {{store direct_url="media/foo"}}
là cái sau mã hóa đường dẫn thư mục phương tiện như media
.
Điều đó có thể dẫn đến các vấn đề khi sử dụng CDN hoặc một cái gì đó, bởi vì nó bỏ qua Mage::getBaseUrl('media')
.
{{store direct_url="media/url"}}
và là {{media url="foo"}}
gì?
`
) khỏi đoạn mã thứ hai (sau?>image.jpg">
). (Tôi không thể chỉnh sửa ít hơn 6 chữ cái)