পিএইচপি 7 সহ 1.9 এ কর ছাড়াই ম্যাজেন্টো গ্র্যান্ড টোটাল


17

আমরা একটি 1.9 & php7 এ কাজ করছি; পেপাল সন্দেহযুক্ত জালিয়াতি (পার্থক্যের পরিমাণের কারণে) সহ এই সমস্যাটি সনাক্ত করেছে।

অগ্রভাগে সমস্ত সঠিক (কর প্রয়োগ করুন); তবে চেকআউট এবং গণনায়, ম্যাজেন্টো কর ছাড়াই গ্র্যান্ড টোটাল ব্যবহার করে।

প্রকৃত ভুল অর্ডার গণনা:

কর ছাড়াই পণ্যের মূল্য + কর সহ শিপিং = প্রদানের মোট পরিমাণ

পিএইচপি 5 এ স্যুইচ করুন এবং গণনাটি সঠিক।

কিছু ধারণা?

ধন্যবাদ!


আমি একই সমস্যা আছে। আমি এখনও অবধি যা খুঁজে পেয়েছি তা হ'ল: স্ট্যাকওভারফ্লো.com / প্রশ্নগুলি / 34281113/… এটির সমাধানের সমাধানটি দুর্দান্ত হবে।
পুনরায় দিন

এটি পিএইচপি 7-তে স্বতন্ত্র এবং এর আগেও রিপোর্ট করা হয়েছে, উদাহরণস্বরূপ ২০১২ সালে: সাজান অ্যালগরিদম: ম্যাগেন্টো চেকআউট মোটগুলি ভুলভাবে শিপিং করের গণনার জন্য ভুলভাবে বাছাই করা হয়েছে , প্রদত্ত অভ্যন্তরীণ ম্যাজেন্টো টিকিটটি [এমসিএসিইই -129]।
hakre

উত্তর:


13

সমাধান

আমি পিএইচপি 7 এর জন্য মোট গণনা সহ ম্যাজেন্টো সমস্যাগুলি সমাধান করার জন্য একটি ম্যাজেন্টো মডিউল তৈরি করেছি। আমি বিশেষত যে সমস্যার মুখোমুখি হয়েছি তা হ'ল অ্যামাজন পেমেন্টস চেকআউট পৃষ্ঠায় অ্যামাজন মডিউল সহ বেতনের জন্য মোট দুটিবার কর যোগ করা হয়েছিল ।

ক্রেডিট

এই পোস্টে আর্কিগ্রাফিক্স দ্বারা সরবরাহিত উত্তর ( /magento//a/97107/35665 ) আমার সমস্যাগুলি সমাধান করেছে - সুতরাং এটি মডিউলটিতে কেবল সমাধান।

মডিউল:

https://github.com/hartmut-ltd/magento-php7-totals-fix


এটা কাজ !!! সমাধানের প্রস্তাব দিন
জুনুজফা

9

আমি সত্যিই জানি না এটি কোনও উপায়ে সহায়তা করবে কিনা, তবে কিছু দেখার জন্য।

এটা সম্ভব যে আপনার collecttotalsমডেল অর্ডারটি ভিন্নভাবে অর্ডার করছে এবং সেই করটি গ্র্যান্ড_টোটেলের পরে অর্ডার / প্রয়োগ করা হচ্ছে

নিম্নলিখিত হিসাবে এটি যদি সমস্যা হয় তবে আপনি পরীক্ষা করতে পারেন। (এটিতে কিছু ডিবাগ তথ্য পেতে একটি মূল ফাইল সামঞ্জস্য জড়িত নোট, দয়া করে একটি লাইভ সাইটে এটি চেষ্টা করবেন না!)

অবস্থিত পদ্ধতিটি সম্পাদনা করুন:

Mage_Sales_Model_Quote_Address::collecttotals

এবং পদ্ধতিতে একটি লাইন যুক্ত করুন, যা আপনাকে প্রক্রিয়াজাতকরণের সাথে সাথে মডেলগুলি আউটপুট দেয়।

public function collectTotals()
    {
        Mage::dispatchEvent($this->_eventPrefix . '_collect_totals_before', array($this->_eventObject => $this));
        foreach ($this->getTotalCollector()->getCollectors() as $model) {
            mage::log($model->getCode()); // <===== ADD THIS LINE
            $model->collect($this);
        }
        Mage::dispatchEvent($this->_eventPrefix . '_collect_totals_after', array($this->_eventObject => $this));
        return $this;
    }

লগিং সক্ষম হয়েছে তা নিশ্চিত করুন।

কনসোলের মাধ্যমে লগ ফাইলটি লেজ করুন: tail -f system.log

সম্মুখভাগের মাধ্যমে সমস্যাটি পুনরুত্পাদন করুন।

আপনি আপনার লগতে নিম্নলিখিত হিসাবে এন্ট্রি পাবেন (এটি ভ্যানিলা ১.৯.২.২ থেকে - আপনার অন্যান্য এন্ট্রি থাকতে পারে)

2015-12-21T05:54:12+00:00 DEBUG (7): nominal
2015-12-21T05:54:12+00:00 DEBUG (7): subtotal
2015-12-21T05:54:12+00:00 DEBUG (7): msrp
2015-12-21T05:54:12+00:00 DEBUG (7): freeshipping
2015-12-21T05:54:12+00:00 DEBUG (7): tax_subtotal
2015-12-21T05:54:12+00:00 DEBUG (7): weee
2015-12-21T05:54:12+00:00 DEBUG (7): shipping
2015-12-21T05:54:12+00:00 DEBUG (7): tax_shipping
2015-12-21T05:54:12+00:00 DEBUG (7): discount
2015-12-21T05:54:12+00:00 DEBUG (7): tax
2015-12-21T05:54:12+00:00 DEBUG (7): grand_total

আপনি এটিকে পুনরাবৃত্তি করতে দেখবেন, তাই এটিটি কোথায় শুরু হয় এবং শেষ হয় তা প্যাটার্নটি দেখতে সহজ হওয়া উচিত

উপরের দুটি শেষ এন্ট্রি দ্রষ্টব্য: গ্র্যান্ড_টোটেলের আগে ট্যাক্স আসে। এটা তোলে পারে সম্ভব হবে এই ক্রম বিকল হয়, এবং ট্যাক্স grand_total পরে উপস্থিত হওয়া হয়, তাই grand_total করের প্রয়োগ থাকবে না।

সম্পাদনা করুন:

ঠিক আছে, তাই আমি উল্লেখ করা প্রশ্নটি দেখতে পেলাম না কারণ ইহা সংগ্রহশালার বাছাইয়ের বিষয়টি ইঙ্গিত করে। আমি সন্দেহ করেছিলাম যে এটি সমস্যা হতে পারে, তবে এটি নিজেকে পিএইচপি 7 তে পরীক্ষা করে দেখেনি

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

<sort_order>মোট পরিমাণে কনফিগারেশনে একটি নির্দিষ্ট রেখে কেবল বাছাইয়ের ক্রমকে বাধ্য করুন । আপনি এটি আপনার নিজস্ব এক্সটেনশনের মাধ্যমে করতে পারেন, যার কেবলমাত্র একটি config.xML থাকবে, যেখানে আপনি প্রতিটি সংগ্রাহকের জন্য অর্ডার নির্দিষ্ট করেন।

কনফিগারেশন। এক্সএমএলে, এর মতো নির্দেশনা রয়েছে:

<sales>
   <quote>
      <totals>
         <nominal>
           <sort_order>100</sort_order>
        </nominal>
        <subtotal>
           <sort_order>200</sort_order>
        </subtotal>
        <msrp>
           <sort_order>300</sort_order>
        </msrp>
        <freeshipping>
           <sort_order>400</sort_order>
        </freeshipping>

        ......
        insert each collector model with a sort directive
        ......

     </totals>
   </quote>

প্রতিটি বাছাইয়ের নির্দেশকের মধ্যে বৃহত্তর শূন্যস্থান ব্যবহার করুন, স্থানটিকে সামনে এগিয়ে যাওয়ার জন্য স্রোতের অনুমতি দিন।

উল্লিখিত হিসাবে, খুব মার্জিত নয়, তবে আপনার তাত্ক্ষণিক সমস্যার সমাধান করতে পারে।

এছাড়াও লক্ষ করুন যে সিস্টেমে অন্যান্য সংগ্রাহকের দিকনির্দেশনা রয়েছে, সুতরাং সেগুলিও ভুল / সামঞ্জস্যের প্রয়োজন হতে পারে

মূল বিক্রয় এক্সটেনশন কনফিগারেশন। XML দেখুন এবং এর জন্য সিচ করুন <totals>

সেখানে আপনি পাবেন:

<order_invoice>
<order_creditmemo>
<pdf>

অন্যান্য এক্সটেনশনে অন্যরাও থাকতে পারেন, এটি মূল / তৃতীয় পক্ষ হোক

আশা করি এইটি কাজ করবে.

PS: আমি পিএইচপি 7 এগুলির কোনও পরীক্ষা করিনি। আমি জানি পিএইচপি 5.এক্স এর অধীনে বাছাই করা ক্রম_অর্ডার নির্দেশিকাটি স্থাপন করা


বাছাই পিএইচপি 7 এ পরিবর্তিত হয়েছে, আপনাকে একাধিক অভিন্ন শৃঙ্খলা অর্ডার (অর্থাত্ তিনটি ভিন্ন আইটেমের স্তরের ৫) থাকার কারণে অদ্ভুতবলের ফলাফল থাকতে পারে বলে আপনাকে স্পষ্টভাবে অনন্য সাজানোর অর্ডারগুলি সংজ্ঞায়িত করতে হবে। stackoverflow.com/questions/34281113/…
ফায়াসকো ল্যাব

আমি উত্তরে একটি সম্পাদনা যুক্ত করেছি।
প্রক্সি ব্লু

ধন্যবাদ প্রক্সি ব্লু; আমরা চেক করব। আমরা রিইনডেক্সের সাথে কিছু সমস্যা সনাক্ত করি; কিছু ক্ষেত্রে, এটি এই সমস্যাটি পুনরুত্পাদন করে। ট্যাক্স কনফিগারেশনে যান, কিছু "পরিবর্তন নেই" এবং ট্যাক্স রিটার্ন সংরক্ষণ করুন।
জোয়ান এম

8

ম্যাজেন্টো 1.6.2 এবং পিএইচপি 7.0.2 এ আমি এটি এইভাবে সমাধান করেছি:

1 - প্রথমে একটি স্থানীয় কনফিগারেশন তৈরি করা হয়েছে ml

2 - এটি এটির মতো পরিবর্তন হয়েছে এখানে চিত্র বর্ণনা লিখুন

এখন এটি সঠিকভাবে গণনা করে:

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


1
আপনি স্থানীয় কোড পুলে এক্সএমএল ফাইলগুলি ওভাররাইড করতে পারবেন না (কেবলমাত্র স্বয়ংক্রিয়ভাবে পিএইচপি ক্লাস), সুতরাং এটি অবশ্যই একটি আসল কাস্টম মডিউলের কনফিগারেশন.এক্সএমএল এর অংশ হতে হবে।
ফ্যাবিয়ান শেমংলার

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