Magento自定义货币节省?

时间:2010-08-11 14:31:05

标签: resources magento entity currency config

我正试图在magento的单独php文件中获取一些货币汇率并保存它们:

<?php
// Initiate application
$mageFilename = 'app/Mage.php';
require_once $mageFilename;
Mage::app();


// Code to create my $rates array
/** CODE **/

foreach ($rates as $currencyCode => $currencyRates) {
      Mage::getModel('directory/currency')
        ->setId($currencyCode)
        ->setRates($currencyRates)
        ->save();
        }

错误:

<br />
<b>Fatal error</b>:  Uncaught exception 'Mage_Core_Exception' with message 'Cannot retrieve entity config: directory/currency' in /home/users/A000456/shoppingonline.be/www.shoppingonline.be/app/Mage.php:550
Stack trace:
#0 /home/users/A000456/shoppingonline.be/www.shoppingonline.be/app/code/core/Mage/Core/Model/Resource.php(161): Mage::throwException('Cannot retrieve...')
#1 /home/users/A000456/shoppingonline.be/www.shoppingonline.be/app/code/core/Mage/Core/Model/Mysql4/Abstract.php(265): Mage_Core_Model_Resource-&gt;getTableName('directory/curre...')
#2 /home/users/A000456/shoppingonline.be/www.shoppingonline.be/app/code/core/Mage/Core/Model/Mysql4/Abstract.php(247): Mage_Core_Model_Mysql4_Abstract-&gt;getTable('currency')
#3 /home/users/A000456/shoppingonline.be/www.shoppingonline.be/app/code/core/Mage/Core/Model/Mysql4/Abstract.php(402): Mage_Core_Model_Mysql4_Abstract-&gt;getMainTable()
#4 /home/users/A000456/shoppingonline.be/www.shoppingonline.be/app/code/core/Mage/Core/Model/Abstract.php(306): Mage_Core_Model_Mysql4_Abstract-&gt;save( in <b>/home/users/A000456/shoppingonline.be/www.shoppingonline.be/app/Mage.php</b> on line <b>550</b><br />

我发现这是发生这种情况的save()方法。

思考?不知道从哪里开始调试这个。如果我知道存储费率的位置也可以,所以我可以手工插入它们......

(我从 Mage_Directory_Model_Currency_Import_Abstract 类中获取代码,通过magento界面正常保存工作正常)

2 个答案:

答案 0 :(得分:1)

答案 1 :(得分:0)

我的第一个想法是在另一个PHP文件的上下文中启动Magento,但没有Magento在引导自身时提供的所有修复程序,似乎存在风险。

阻力最小的路径,除了极少数例外,让Magento成为Magento并做其事,越少越好。考虑到这一点,您是否可以设置Magento控制器/操作并从那里调用此数据,甚至可以远程使用它(例如使用file_get_contents)?