我記得在symfony 1.x中有一個「貨幣」字段類型,它是世界上所有貨幣的選擇。 symfony2中有這樣的東西嗎?symfony2中的貨幣列表
4
A
回答
8
我找不到一個,所以我自己創建了一個。我從here
名單這是包含所有貨幣
namespace Gilden\Bundle\InvoiceBundle\Form\Extension\ChoiceList;
use Symfony\Component\Form\Extension\Core\ChoiceList\ChoiceListInterface;
/**
* Choice list for ISO currencies found on http://www.xe.com/iso4217.php
*/
class CurrencyChoiceList implements ChoiceListInterface
{
public function getChoices()
{
return array(
'AED' => 'AED', 'AFN' => 'AFN', 'ALL' => 'ALL',
'AMD' => 'AMD', 'ANG' => 'ANG', 'AOA' => 'AOA',
'ARS' => 'ARS', 'AUD' => 'AUD', 'AWG' => 'AWG',
'AZN' => 'AZN', 'BAM' => 'BAM', 'BBD' => 'BBD',
'BDT' => 'BDT', 'BGN' => 'BGN', 'BHD' => 'BHD',
'BIF' => 'BIF', 'BMD' => 'BMD', 'BND' => 'BND',
'BOB' => 'BOB', 'BRL' => 'BRL', 'BSD' => 'BSD',
'BTN' => 'BTN', 'BWP' => 'BWP', 'BYR' => 'BYR',
'BZD' => 'BZD', 'CAD' => 'CAD', 'CDF' => 'CDF',
'CHF' => 'CHF', 'CLP' => 'CLP', 'CNY' => 'CNY',
'COP' => 'COP', 'CRC' => 'CRC', 'CUC' => 'CUC',
'CUP' => 'CUP', 'CVE' => 'CVE', 'CZK' => 'CZK',
'DJF' => 'DJF', 'DKK' => 'DKK', 'DOP' => 'DOP',
'DZD' => 'DZD', 'EGP' => 'EGP', 'ERN' => 'ERN',
'ETB' => 'ETB', 'EUR' => 'EUR', 'FJD' => 'FJD',
'FKP' => 'FKP', 'GBP' => 'GBP', 'GEL' => 'GEL',
'GGP' => 'GGP', 'GHS' => 'GHS', 'GIP' => 'GIP',
'GMD' => 'GMD', 'GNF' => 'GNF', 'GTQ' => 'GTQ',
'GYD' => 'GYD', 'HKD' => 'HKD', 'HNL' => 'HNL',
'HRK' => 'HRK', 'HTG' => 'HTG', 'HUF' => 'HUF',
'IDR' => 'IDR', 'ILS' => 'ILS', 'IMP' => 'IMP',
'INR' => 'INR', 'IQD' => 'IQD', 'IRR' => 'IRR',
'ISK' => 'ISK', 'JEP' => 'JEP', 'JMD' => 'JMD',
'JOD' => 'JOD', 'JPY' => 'JPY', 'KES' => 'KES',
'KGS' => 'KGS', 'KHR' => 'KHR', 'KMF' => 'KMF',
'KPW' => 'KPW', 'KRW' => 'KRW', 'KWD' => 'KWD',
'KYD' => 'KYD', 'KZT' => 'KZT', 'LAK' => 'LAK',
'LBP' => 'LBP', 'LKR' => 'LKR', 'LRD' => 'LRD',
'LSL' => 'LSL', 'LTL' => 'LTL', 'LVL' => 'LVL',
'LYD' => 'LYD', 'MAD' => 'MAD', 'MDL' => 'MDL',
'MGA' => 'MGA', 'MKD' => 'MKD', 'MMK' => 'MMK',
'MNT' => 'MNT', 'MOP' => 'MOP', 'MRO' => 'MRO',
'MUR' => 'MUR', 'MVR' => 'MVR', 'MWK' => 'MWK',
'MXN' => 'MXN', 'MYR' => 'MYR', 'MZN' => 'MZN',
'NAD' => 'NAD', 'NGN' => 'NGN', 'NIO' => 'NIO',
'NOK' => 'NOK', 'NPR' => 'NPR', 'NZD' => 'NZD',
'OMR' => 'OMR', 'PAB' => 'PAB', 'PEN' => 'PEN',
'PGK' => 'PGK', 'PHP' => 'PHP', 'PKR' => 'PKR',
'PLN' => 'PLN', 'PYG' => 'PYG', 'QAR' => 'QAR',
'RON' => 'RON', 'RSD' => 'RSD', 'RUB' => 'RUB',
'RWF' => 'RWF', 'SAR' => 'SAR', 'SBD' => 'SBD',
'SCR' => 'SCR', 'SDG' => 'SDG', 'SEK' => 'SEK',
'SGD' => 'SGD', 'SHP' => 'SHP', 'SLL' => 'SLL',
'SOS' => 'SOS', 'SPL' => 'SPL', 'SRD' => 'SRD',
'STD' => 'STD', 'SVC' => 'SVC', 'SYP' => 'SYP',
'SZL' => 'SZL', 'THB' => 'THB', 'TJS' => 'TJS',
'TMT' => 'TMT', 'TND' => 'TND', 'TOP' => 'TOP',
'TRY' => 'TRY', 'TTD' => 'TTD', 'TVD' => 'TVD',
'TWD' => 'TWD', 'TZS' => 'TZS', 'UAH' => 'UAH',
'UGX' => 'UGX', 'USD' => 'USD', 'UYU' => 'UYU',
'UZS' => 'UZS', 'VEF' => 'VEF', 'VND' => 'VND',
'VUV' => 'VUV', 'WST' => 'WST', 'XAF' => 'XAF',
'XCD' => 'XCD', 'XDR' => 'XDR', 'XOF' => 'XOF',
'XPF' => 'XPF', 'YER' => 'YER', 'ZAR' => 'ZAR',
'ZMK' => 'ZMK', 'ZWD' => 'ZWD',
);
}
}
類這是實際的表單類型
namespace Gilden\Bundle\InvoiceBundle\Form\Extension\Type;
use Gilden\Bundle\InvoiceBundle\Form\Extension\ChoiceList\CurrencyChoiceList;
use Symfony\Component\Form\AbstractType;
class CurrencyType extends AbstractType
{
/**
* {@inheritDoc}
*/
public function getDefaultOptions(array $options)
{
return array(
'choice_list' => new CurrencyChoiceList(),
'preferred_choices' => array('EUR', 'USD', 'RUB', 'LVL', 'LTL')
);
}
/**
* {@inheritDoc}
*/
public function getParent(array $options)
{
return 'choice';
}
/**
* {@inheritDoc}
*/
public function getName()
{
return 'currency';
}
}
我希望這有助於。
5
Symfony 2.3中有CurrencyType
。
它使用Intl
組件獲取所有貨幣的列表。
相關問題
- 1. Magento允許貨幣列表
- 2. mongoid中的貨幣表示
- 3. CSS中的貨幣表
- 4. 在Grails中代表貨幣(價值+貨幣)的最佳實踐
- 5. 是否可以將Ruby貨幣列表過濾爲只有活動的貨幣?
- 6. 印度貨幣的PHP貨幣格式?
- 7. 獲取貨幣列表項目值
- 8. 在java中特定貨幣的貨幣符號的位置
- 9. 正則表達式貨幣
- 10. 如何在樹枝,symfony2中獲取貨幣符號?
- 11. 從Objective-C中獲取貨幣代碼的貨幣符號
- 12. 一些貨幣符號在Java中的貨幣API
- 13. 如何從iphone中的貨幣代碼獲取貨幣符號?
- 14. 將貨幣格式化爲asp.net mvc c中的貨幣#
- 15. Rails中的多種貨幣
- 16. Rails中的貨幣轉換
- 17. INR貨幣中的Prestashop Bug
- 18. .NET中的貨幣格式
- 19. Drupal中的貨幣API
- 20. IE11中的貨幣格式
- 21. OpenXML中的貨幣格式
- 22. KendoGrid中的貨幣格式
- 23. PHP在表中添加貨幣
- 24. 轉換貨幣
- 25. 軌AJAX貨幣
- 26. 格式貨幣
- 27. 貨幣下拉
- 28. 貨幣庫
- 29. WooCommerce貨幣
- 30. 貨幣Clojurescript
謝謝gilden。你的選擇清單工作。但錯過貨幣的完整名稱(歐元=>歐元,美元=>美元)以及在用戶區域顯示貨幣名稱的可能性。真的,我不明白爲什麼在symfony2中錯過了symfony 1.x有一些非常有用的功能。貨幣示例列表,日期範圍字段類型,日期範圍驗證程序約束。 – smoreno 2012-01-14 14:30:08
@smoreno完整的名稱在每種語言中都不相同,因此使用[翻譯](http://symfony.com/doc/2.0/book/translation.html)是明智的。您還需要[自定義表單窗口小部件](http://symfony.com/doc/2.0/cookbook/form/form_customization.html#how-to-customize-an-individual-field),但這一切都會降臨超出這個問題的範圍已經:) – gilden 2012-01-14 14:38:20