ম্যাজেন্টো 2 - মার্কিন যুক্তরাষ্ট্রে অবিচ্ছিন্ন লোকের জন্য পণ্যের বিবরণ পৃষ্ঠায় পণ্যের দাম 0.00 এ পরিবর্তিত হবে


14

আমি ম্যাজেন্টো ২.০.৪ ইনস্টল করার পরে একটি খুব অদ্ভুত সমস্যার মুখোমুখি। আমি 12 ডলার মূল্যের সাথে একটি পণ্য তৈরি করেছি এবং ব্যাকএন্ডে ম্যাজেন্টো কনফিগারেশন থেকে লোকেলটি পরিবর্তন করেছি।

নীচে তালিকার পৃষ্ঠার স্ক্রিনশট রয়েছে।

এখানে চিত্র বর্ণনা লিখুন

বিস্তারিত পৃষ্ঠার জন্য নীচের স্ক্রিনশটটিও সন্ধান করুন।

এখানে চিত্র বর্ণনা লিখুন

আপনি দুটি স্ক্রিনশটের মধ্যে পার্থক্য লক্ষ্য করতে পারেন। হ্যাঁ, তালিকার পৃষ্ঠাগুলিতে আমি যা যুক্ত করেছি তার দামটি ধরে রাখার সময় পণ্যের বিশদ পৃষ্ঠাটি $ 0.00 মূল্য দেখায়।

পণ্য বিবরণ পৃষ্ঠাটি স্বয়ংক্রিয়ভাবে এক বা দুই সেকেন্ড পরে জাভাস্ক্রিপ্ট আপডেটগুলি সঠিক মূল্যকে $ 0,00 এ আপডেট করে।

এটির জন্য নীচের কোডটি সন্ধান করুন

$('[data-price-type="' + priceCode + '"]', this.element).html(priceTemplate({data: price}));

আমি কোডে আরও ডিবাগ করেছি এবং অন্য একটি জাভাস্ক্রিপ্ট কোড পেয়েছি যা ম্যাজেন্টো 2 প্রাইসবক্স উইজেটে প্যারামিটারটি পাস করে।

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

এখন আমি getJsonConfig () পদ্ধতিটি পরীক্ষা করেছি,

  $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
        ];

আমি কোডটির মাধ্যমে প্রচুর ডিবাগিং করেছি এবং এই সিদ্ধান্তে পৌঁছেছি যে তারা লোকাল সমর্থনের জন্য আইসিইউডিটি ব্যবহার করছে।

আমি এই সমস্ত কিছুর সাথে আটকে আছি, মনে হচ্ছে এটি প্রাইসফর্ম্যাট ইস্যু।

দয়া করে নিশ্চিত করুন যে এই সমস্যাটি কেবলমাত্র পার্সিয়ান (ইরান) এর মতো নির্দিষ্ট স্থানীয় বিকল্পগুলির জন্য উত্থিত হয়েছে।


রেইনডিক্স, পরিষ্কার ক্যাশে প্রয়োগ করুন, স্থির কন্টেন্ট মোতায়েন করুন।
সুরেশ চিকানী

ধন্যবাদ @ এসএইচপ্যাটেল, এটি কোনও পুনর্নির্মাণ বা ক্যাশে সমস্যা নয়। আমি যথাসাধ্য চেষ্টা করেছি
কোড্রেন টেকনোলবস প্রাইভেট লিমিটেড

এটি একটি বাগ এবং এর আগে ম্যাজেন্টো দলে রিপোর্ট করা হয়েছে। অধিক বিবরণের জন্য এই পরীক্ষা করুন - github.com/magento/magento2/issues/4077
Reena পারেখ

ধন্যবাদ @ রীনাপারেখ, আমার পক্ষ থেকে এই বাগ রিপোর্ট করেছে। তবে আমি এই সমস্যার সমাধান চাই কারণ ম্যাজেন্টো লোকেরা তাদের পরবর্তী প্রকাশে এটি আপডেট করতে সময় নেবে।
কোড্রেন টেকনোলবস প্রাইভেট লিমিটেড

উত্তর:


0

এই সমস্যাটি সমাধান হয়েছে, দয়া করে আপনার Magento2 সর্বশেষতম স্থিতিশীল সংস্করণে আপডেট করুন

আপনি যদি জিআইটি এবং সুরকার থেকে ইনস্টল করেন তবে এই পদক্ষেপগুলি অনুসরণ করুন:

  • আপনার অবশ্যই আপনার পরিবর্তনগুলি আটকে রাখুন
  • জিআইটি পুল সর্বশেষ স্থিতিশীল শাখা অর্থাৎ ২.১
  • সুরকার আপডেট
  • Magento আপগ্রেড করুন ( bin/magento setup:upgrade)

অন্যথায় যদি আপনি জিগ ফোল্ডার ডাউনলোড ব্যবহার করে ম্যাজেন্টো ওয়েবসাইট থেকে সর্বশেষ ডাউনলোডের চেয়ে ইনস্টল করে থাকেন এবং ক্যাশে সাফ করার জন্য এবং চালনার প্রয়োজনের চেয়ে নতুন জিপ ব্যবহার করে সমস্ত ফাইলকে ওভাররাইড করে থাকেন

bin/magento setup:upgrade

0

কমান্ডগুলি অনুসরণ করে ম্যাজেন্টো আপগ্রেড করুন।

বিন / ম্যাজেন্টো সেটআপ: আপগ্রেড করুন

বিন / ম্যাজেন্টো সেটআপ: ডিবি-স্কিমা: আপগ্রেড

পিএইচপি-ডি মেমরি_লিট = -1 বিন / ম্যাজেন্টো সেটআপ: ডিআই: সংকলন

পিএইচপি-ডি মেমরি_লিট = -1 বিন / ম্যাজেন্টো সেটআপ: স্থির-সামগ্রী: স্থাপন করুন


0

নীচে কোড আপডেট করার চেষ্টা করুন:

পথ - lib/internal/Magento/Framework/Locale/Format.php

class Format implements \Magento\Framework\Locale\FormatInterface
{
    const DEFAULT_NUMBER_SET = 'latn';
    /**
     * @var \Magento\Framework\App\ScopeResolverInterface
     */
@@ -104,12 +105,18 @@ public function getPriceFormat($localeCode = null, $currencyCode = null)
            $currency = $this->_scopeResolver->getScope()->getCurrentCurrency();
        }
        $localeData = (new DataBundle())->get($localeCode);
        /* $format = $localeData['NumberElements']['latn']['patterns']['currencyFormat']
            ?: explode(';', $localeData['NumberPatterns'][1])[0];
        $decimalSymbol = $localeData['NumberElements']['latn']['symbols']['decimal']
            ?: $localeData['NumberElements'][0];
        $groupSymbol = $localeData['NumberElements']['latn']['symbols']['group']
            ?: $localeData['NumberElements'][1]; */
 //start updated code
        $defaultSet = $localeData['NumberElements']['default'] ?: self::DEFAULT_NUMBER_SET;
        $format = $localeData['NumberElements'][$defaultSet]['patterns']['currencyFormat']
            ?: ($localeData['NumberElements'][self::DEFAULT_NUMBER_SET]['patterns']['currencyFormat']
                ?: explode(';', $localeData['NumberPatterns'][1])[0]);
        $decimalSymbol = $localeData['NumberElements'][$defaultSet]['symbols']['decimal']
            ?: ($localeData['NumberElements'][self::DEFAULT_NUMBER_SET]['symbols']['decimal']
                ?: $localeData['NumberElements'][0]);
        $groupSymbol = $localeData['NumberElements'][$defaultSet]['symbols']['group']
            ?: ($localeData['NumberElements'][self::DEFAULT_NUMBER_SET]['symbols']['group']
                ?: $localeData['NumberElements'][1]);

  // end updated code

        $pos = strpos($format, ';');
        if ($pos !== false) {

আশা করি এটি আপনার জন্য কাজ করে

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.