Magento 2.0.4 kurulumundan sonra çok garip bir sorunla karşılaşıyorum. Ben 12 $ fiyat ile bir ürün oluşturmak ve yerel arka uç Magento yapılandırma değiştirin.
Aşağıda listeleme sayfasının ekran görüntüsü verilmiştir.
Ayrıca ayrıntı sayfası için aşağıdaki ekran görüntüsünü bulun.
İki ekran görüntüsü arasındaki farkı fark etmiş olabilirsiniz. Evet, ürün detay sayfası 0,00 TL fiyat gösterirken liste sayfası eklediğim fiyatla aynı düzeyde kalıyor.
Ürün ayrıntıları sayfası, bir veya iki saniye sonra doğru fiyatı otomatik olarak 0,00 TL'ye günceller (Javascript Güncellemeleri).
Bunun için aşağıdaki kodu bulun
$('[data-price-type="' + priceCode + '"]', this.element).html(priceTemplate({data: price}));
Daha fazla kod hata ayıklama ve Magento 2 pricebox widget için parametre geçer başka bir javascript kodu bulmak.
<script>
require([
'jquery',
'Magento_Catalog/js/price-box'
], function($){
var priceBoxes = $('[data-role=priceBox]');
priceBoxes = priceBoxes.filter(function(index, elem){
return !$(elem).find('.price-from').length;
});
priceBoxes.priceBox({'priceConfig': <?php /* @escapeNotVerified */ echo $block->getJsonConfig() ?>});
});
</script>
Şimdi getJsonConfig () yöntemini kontrol ettim,
$product = $this->getProduct();
if (!$this->hasOptions()) {
$config = [
'productId' => $product->getId(),
'priceFormat' => $this->_localeFormat->getPriceFormat()
];
return $this->_jsonEncoder->encode($config);
}
$tierPrices = [];
$tierPricesList = $product->getPriceInfo()->getPrice('tier_price')->getTierPriceList();
foreach ($tierPricesList as $tierPrice) {
$tierPrices[] = $this->priceCurrency->convert($tierPrice['price']->getValue());
}
$config = [
'productId' => $product->getId(),
'priceFormat' => $this->_localeFormat->getPriceFormat(),
'prices' => [
'oldPrice' => [
'amount' => $this->priceCurrency->convert(
$product->getPriceInfo()->getPrice('regular_price')->getAmount()->getValue()
),
'adjustments' => []
],
'basePrice' => [
'amount' => $this->priceCurrency->convert(
$product->getPriceInfo()->getPrice('final_price')->getAmount()->getBaseAmount()
),
'adjustments' => []
],
'finalPrice' => [
'amount' => $this->priceCurrency->convert(
$product->getPriceInfo()->getPrice('final_price')->getAmount()->getValue()
),
'adjustments' => []
]
],
'idSuffix' => '_clone',
'tierPrices' => $tierPrices
];
Kod üzerinden çok sayıda hata ayıklama yaptım ve yerel destek için ICUDATA kullandıkları sonucuna vardım.
Ben her şeyi ile sıkışmış, Görünüşe göre PriceFormat sorunu.
Lütfen bu sorunun yalnızca Persion (İran) gibi bazı Yerel ayar seçenekleri için ortaya çıktığından emin olun.