css - Magento - 媒体资源出错

标签 css magento magento-1.8

我们修改了现有主题并引入了一些新功能。我们现在允许管理员从管理面板上传图像并将其用作新 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/

相关文章:

jquery - 通过单击指向 iframe 中的内部链接的链接向下滚动整个页面

html - 如何在 html 上建立一个直接进入您的文本框的链接,如用户名?喜欢 Facebook

php - Magento 语法错误或访问冲突 1286 未知表引擎 'InnoDB'

mysql - 在全新 CentOS 7 上正确安装 MySQL 5.7 时出现问题

php - Magento - 在顶部菜单中仅显示 'root category'

javascript - Magento – 优惠券代码提交按钮不起作用

Magento 订单的小计和总计为 0

html - CSS + IE 6 = Background-Image 不显示(并且拔头发)

css - 变换旋转和平移圆形图像到另一个图像内

Magento - JavaScript 错误阻止添加和保存类别