Chcę utworzyć nową walutę punktów, więc zamiast mojego sklepu Magento sprzedającego produkty o wartości $ 300,00, chcę, aby wyświetlała się 300 Punktów Nagród.Jak utworzyć niestandardowy typ waluty w Magento lub Zend?
Ja już próbowałem rozwiązanie złe praktyki dodając to do sekcji walut w lib/Zend/locale/Dane/en.xml
<currency type="RWP">
<displayName>Reward Point</displayName>
<displayName count="one">Reward Point</displayName>
<displayName count="other">Reward Points</displayName>
<symbol>Reward Points</symbol>
</currency>
udało mi się włączyć i korzystać z tego w Magento przez po tym wątku: http://www.magentocommerce.com/boards/viewthread/56508/ ale nadal korzysta z domyślnego formatowania wzoru: ¤ #,##0.00
tak wygląda Nagroda Points800.00
Moja locale jest ustawione na en_CA i na tyle, na ile mogę powiedzieć, że nie ma możliwości zmiany wzorca formatowania bez wpływu na format CDN i USD.
Próbowałem przesłonić Mage_Core_Model_Store, więc jeśli aktualny kod waluty to RWP, to sformatuje cenę za pomocą tablicy opcji formatowania, ale to nie działa, gdy jestem w widoku produktu. Nie wspominając o tym, że wydaje się to również bardzo brudny sposób na osiągnięcie tego, co chcę.
/**
* Format price with currency filter (taking rate into consideration)
*
* @param double $price
* @param bool $includeContainer
* @return string
*/
public function formatPrice($price, $includeContainer = true)
{
if ($this->getCurrentCurrency()) {
/**
* Options array
*
* The following options are available
* 'position' => Position for the currency sign
* 'script' => Script for the output
* 'format' => Locale for numeric output
* 'display' => Currency detail to show
* 'precision' => Precision for the currency
* 'name' => Name for this currency
* 'currency' => 3 lettered international abbreviation
* 'symbol' => Currency symbol
*/
$options = array();
if ($this->getCurrentCurrencyCode() == 'RWP') {
$options = array(
'position' => 16,
'precision' => 0,
'format'=> '#,##0.00 '
);
}
return $this->getCurrentCurrency()->format($price, $options, $includeContainer);
}
return $price;
}
Czy zdarzyło Ci się kiedykolwiek to osiągnąć? Pracuję nad tym samym w Magento 2, a dodanie nowej waluty wydaje się nietrudnym zadaniem. – floorz
Tak, wierzę, że zrobiłem, ale to było 6 lat temu i nie tknąłem PHP, nie mówiąc już o Magento przez prawie tyle samo czasu. Przepraszam :( –