我们修改了现有主题并引入了一些新功能。我们现在允许管理员从管理面板上传图像并将其用作新徽标。如果管理员上传新图像,则图像存储在/ magento / media目录中(" magento"作为根目录)。但是,我无法在我的扩展程序中使用此资源。我有一个文件我有一个css文件,它定义了每个页面的标题部分的css(带有标准标识的默认相对路径)。这个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中给出一个相对路径工作正常但不是一个好的解决方案,因为页面可以是任意路径,所以&#34; ../"放不是固定的。
请告诉我如何在我的扩展程序.phtml文件中使用magento媒体目录中的图片。
答案 0 :(得分:1)
您不应该从本地文件系统加载图像。
使用
Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_MEDIA);
而不是
Mage::getBaseDir('media');
如果有任何问题,请告诉我