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_Image563行目を見ると:

 $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 に答える