Я собираюсь написать общую проблему в magento и решение, которое лучше всего подходит для меня.
Я искал в сети и отражал magento-код в течение нескольких часов, чтобынайти решение вышеуказанной проблемы.Я хотел, чтобы венгерский ценовой формат был 1 000 Ft
вместо 1 000,00 Ft
Я заменил значение 'precision'
на 0 везде, но не получилось.Вот список, где я исследовал:
app / code / core / Mage / Core / Model / Store.php
function formatPrice(){ $option = array('precison' => 2 ); ... }
app / code / core / Mage / Directory / Model / Currency.php
function format() {
$this->formatPrecision($price, 0, $options, $includeContainer, $addBrackets);
}
После отражения кода я понял, что этовсе изменения не имеют значения вообще, потому что информация о числовом формате основана на locale информации, которая предоставляется Zend core API .
Итак, вотРешение, которое я нашел, и, надеюсь, форматирование цены будет стандартным для всего приложения.
Вы найдете файл YY.xml в lib / Zend / Locale / Data/ , где YY - код страны вашей страны.У меня есть hu.xml
Вы найдете часть:
<currencyFormats>
<currencyFormatLength>
<currencyFormat>
<pattern>#,##0 ¤</pattern>
</currencyFormat>
</currencyFormatLength>
<unitPattern count="other">{0} {1}</unitPattern>
</currencyFormats>
О строке формата вы можете найти не очень полезную информацию на http://framework.zend.com/manual/en/zend.locale.parsing.html