2

我正在尝试在后端检索上传图像的完整 URL。

为上传创建配置的代码:

<backend_model>adminhtml/system_config_backend_image</backend_model> 
<upload_dir config="system/filesystem/media" scope_info="1">voucher/logo</upload_dir>
<base_url type="media" scope_info="1">voucher/logo</base_url>

但是当我尝试得到它时:

Mage::getBaseUrl('media').Mage::getStoreConfig('group/locale/module_logoimage',Mage::app()->getStore());

它不会给我在 system.xml(上图)中设置的上传目录,我得到:http ://sample.com/media/default(scope)/image.png并且它错过了凭证/徽标部分。如何在不读取节点的情况下从配置中获取它?

谢谢

4

1 回答 1

1

似乎 Magento 没有内置的方法来检索<upload_dir.

如果您查看Mage_Catalog_Model_Product_Image第 563 行:

 $baseDir = Mage::getSingleton('catalog/product_media_config')->getBaseMediaPath();

跟踪此函数以:

Mage_Catalog_Model_Product_Media_Config

它只这样做:

return Mage::getBaseDir('media') . DS . 'catalog' . DS . 'product';

有关更多信息,请参阅 AlanStorm 的这篇文章(查看评论部分): http ://alanstorm.com/magento_system_configuration_in_depth_tutorial

更新

您也可以使用以下代码获取节点的数据:

Mage::app()->getStore()-> getConfig('path/to/node')
于 2013-01-02T22:13:06.537 回答