我们修改了现有主题并引入了一些新功能。我们现在允许管理员从管理面板上传图像并将其用作新 Logo 。如果管理员上传新图像,图像将存储在/magento/media 目录中(“magento”是根目录)。但是我无法在我的扩展中使用此资源。我有一个文件我有一个 css 文件,它定义了每个页面的标题部分的 css(具有标准 Logo 的默认相对路径)。这个 css 在实际显示内容的 head.phtml 中被引用。我正在通过做 -
覆盖 css 的标题部分<style>
<?php
$img = Mage::getStoreConfig('mytheme/choosetheme/my_image');
$media = Mage::getBaseDir('media');
echo '.header-bg {
background:url('.$media.'\logo.png'.') no-repeat center #fff;
height:45px;
}';
</style>
我收到以下错误 - 不允许加载本地资源。
图像是从我们的扩展程序上传的,在 css 中给出相对路径效果很好,但不是一个好的解决方案,因为页面可以是任意路径,所以要放置的“../”的数量不固定。
请告诉我如何在我的扩展 .phtml 文件中使用 magento 媒体目录中的图像。
最佳答案
您不应该从本地文件系统加载图像。
使用
Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_MEDIA);
代替
Mage::getBaseDir('media');
有问题请告诉我
关于css - Magento - 媒体资源出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24032685/