2014-03-04 65 views
1

感谢您的阅读,我是新的magento。我正在研究api应用程序,所以如果我有网站ID,如何获得本网站的所有可用货币和同样的东西,如果我有商店编号 任何想法将不胜感激获取所有货币可用于网站/商店在magento

+0

在文档中说什么? –

+0

发布一些你已经试过的代码 – Johnny000

+0

文档说变量是website_id的网站货币和store_id的商店货币 – rramiii

回答

1

你可以试试这个获得允许货币:

$CurrencyCode = Mage::getStoreConfig('currency/options/allow'); 

请让我知道如果你需要更多的帮助。

+2

谢谢你的帮助,但这个命令只返回了默认货币 我遇到了一个命令,它返回了所有允许的货币数组,但没有任何暗示网站ID或商店ID:Mage :: getModel('directory/currency') - > getConfigAllowCurrencies(); – rramiii

+0

如果您从前端使用我的代码,那么它会检测商店(默认情况下)并显示当前商店的货币。 我已经在多网站和多商店设置了测试它。 –

+0

但请求的是任何网站ID或任何商店ID传递给我的API功能,所以我的功能必须采取ID和返回与请求的网站或商店相关的货币:-( – rramiii

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); 
+0

谢谢,Mage :: app() - > getStore() - > getAvailableCurrencyCodes(true)返回默认货币,所以用Mage :: app() - > getStore() - > getAvailableCurrencyCodes(true)如果我们打开系统 - >配置 - >货币设置,这个配置适用于所有可用的货币系统中的国家名称,但仍然无法获得指定网站或商店的货币(我有想要的网站和商店的ID) – rramiii

+0

(((((((( – rramiii

+1

)我使用代码来获得magento货币汇率($汇率变量)从所选的网站或商店货币不同,所以我认为有一些方法可以通过网站或商店获得货币。 – electroid

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>"; 

哪里应该由店铺标识所取代。请记住,如果您尚未为特定商店设置值,则需要传递0(默认商店作用域ID)。

+0

哇...你是我的英雄我一直在尝试6个小时今天 这是工作,但不是店ID,它需要网站ID,所以它返回给定网站ID的所有货币,我会尝试使它的商店ID也工作...非常感谢我的朋友:-) – rramiii

+0

它不允许我投票你的答案.. so sory – rramiii

+0

请投票你的答案 –

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, 
        )); 

我并不需要在选项标签长格式的货币名称,只有三个字母代码。