感谢阅读,我是magento的新手。我正在研究api应用程序,所以如果我有网站ID,我怎么能得到这个网站的所有可用货币和同样的东西,如果我有商店ID 任何想法将不胜感激
答案 0 :(得分:4)
试试这个:
$CurrencyCode = Mage::getModel('core/config_data')
->getCollection()
->addFieldToFilter('path','currency/options/allow')
->addFieldToFilter('scope_id',<you store id>)
->getData();
$currencies_array = explode(',',$CurrencyCode[0]['value']);
if($currencies_array[0] == '')
{
$currencies_array[]= Mage::app()->getStore($site_id)->getCurrentCurrencyCode();
}
echo "<pre>";print_r($currencies_array);echo "</pre>";
应该用商店ID替换。
请记住,如果您没有为特定商店设置值,则需要传递0(默认商店范围ID)。
答案 1 :(得分:2)
请尝试以下操作,但尚未对其进行测试。
$currencies = array();
$codes = Mage::app()->getStore()->getAvailableCurrencyCodes(true);
if (is_array($codes) && count($codes) > 1) {
$rates = Mage::getModel('directory/currency')->getCurrencyRates(
Mage::app()->getStore()->getBaseCurrency(),
$codes
);
foreach ($codes as $code) {
if (isset($rates[$code])) {
$currencies[$code] = Mage::app()->getLocale()
->getTranslation($code, 'nametocurrency');
}
}
}
echo "<pre>";
print_r($currencies);
答案 2 :(得分:1)
您可以尝试此操作以获取允许的货币:
$CurrencyCode = Mage::getStoreConfig('currency/options/allow');
如果您需要更多帮助,请与我们联系。
答案 3 :(得分:0)
我需要一些货币才能在自定义网格上下拉。要获取所有商店中使用的货币列表并呈现下拉列表,这对我来说非常适用于Grid.php
$stores = Mage::app()->getStores();
foreach($stores as $store) {
$currency = Mage::getStoreConfig('currency/options/allow', $store);
$currencies[$currency] = $currency;
}
$currencies = array_unique($currencies);
对于网格列:
$this->addColumn('currency', array(
'header' => Mage::helper('erp')->__('Currency'),
'align' => 'left',
'width' => '100px',
'index' => 'currency',
'type' => 'options',
'options' => $currencies,
));
我不需要长格式货币名称的选项标签,只需要三个字母代码。