লক্ষ্য বিধি আপসেল


9

আমার কাছে ম্যাজেন্টো টার্গেট রুল আপ-বেলে একটি অদ্ভুত সমস্যা রয়েছে।

পরিস্থিতি: ম্যাজেন্টো ইই 1.12। একই Magento উদাহরণে 30+ স্টোর দর্শন। 30 কে + পণ্য। বেশিরভাগ পণ্যাদির সমস্ত স্টোর ভিউতে একই সেটিংস থাকে। আমি নীচে আপসেল দেখানোর জন্য একটি নিয়ম তৈরি করেছি। "বর্তমান পণ্য যে 100% বা তারও বেশি দাম সহ একই বিভাগ থেকে পণ্যগুলি দেখান"। আপসগুলি দেখানোর জন্য সেটিংস: 'কেবলমাত্র নিয়ম ভিত্তিক' (বিষয়টি 'নিয়ম ভিত্তিক এবং নির্বাচিত' এর জন্য পুনরুত্পাদন করে)। আমি নিয়ম সংরক্ষণ করেছি। সবকিছু পুনর্নির্মাণ। সবকিছু ঠিকঠাক দেখতে সিমগুলি, বিধি দ্বারা সংজ্ঞায়িত হিসাবে আপসেলগুলি (আমার পরীক্ষিত পণ্যগুলির জন্য) প্রদর্শিত হবে, তবে ... কিছু পণ্য পরে এক দোকানে একই পণ্যের জন্য আপসেলগুলি প্রদর্শিত হবে এবং অন্য স্টোরের দৃশ্যে তারা এগুলি দেখবে না। সমস্ত স্টোরের দর্শনগুলিতে পণ্যটির একই সেটিংস রয়েছে। (এবং এটির জন্য একই উত্থাপন হওয়া উচিত))

যদি আমি নিয়মে কিছু সংশোধন করি এবং আবার এটি সংরক্ষণ করি তবে আপসেলগুলি সমস্ত স্টোরের দর্শনগুলিতে প্রদর্শিত হতে শুরু করে তবে কিছু সময়ের পরে সমস্যাটি পুনরায় প্রকাশ হয়।

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

+-----------+----------+-------------------+---------------------------------------------------------------------+---------------------+
| entity_id | store_id | customer_group_id | product_ids                                                         | customer_segment_id |
+-----------+----------+-------------------+---------------------------------------------------------------------+---------------------+
|     17372 |        2 |                 0 | 17373,350,583,487,17664,29737,14719,443,445,29502,17666,17667,17668 |                   0 |
|     17372 |        5 |                 0 | 17373,350,583,487,17664,29737,14719,443,445,29502,17666,17667,17668 |                   0 |
|     17372 |       17 |                 0 | 17373,350,583,487,17664,29737,14719,443,445,29502,17666,17667,17668 |                   0 |
|     17372 |       18 |                 0 | 17373,350,583,487,17664,29737,14719,443,445,29502,17666,17667,17668 |                   0 |
|     17372 |       19 |                 0 | 17373,350,583,487,17664,29737,14719,443,445,29502,17666,17667,17668 |                   0 |
|     17372 |       20 |                 0 |                                                                     |                   0 |
|     17372 |       21 |                 0 | 17373,350,583,487,17664,29737,14719,443,445,29502,17666,17667,17668 |                   0 |
|     17372 |       22 |                 0 | 17373,350,583,487,17664,29737,14719,443,445,29502,17666,17667,17668 |                   0 |
|     17372 |       23 |                 0 | 17373,350,583,487,17664,29737,14719,443,445,29502,17666,17667,17668 |                   0 |

আপনি দেখতে পাচ্ছেন যে আইডি 17372 এর সাথে পণ্যের আপসেলগুলি স্টোর_আইড 20 বাদে সমস্ত স্টোর ভিউতে একই রকম রয়েছে যা ফাঁকা। 20 স্টোর সম্পর্কে বিশেষ কিছু নেই here এখানে জড়িত সমস্ত পণ্য সমস্ত দোকানে পাওয়া যায়।

কোন ধারণা?

ধন্যবাদ। Marius।


1
আপনার cronসঠিকভাবে কনফিগার করা আছে? আইআইআরসি নিয়মগুলি রাতের বেলা পুনর্নির্মাণ করা হয় এবং কোনও সক্রিয় ছাড়াই cronঅদ্ভুত আচরণের জন্ম দেয়
বেন লেসানী - সোনাসি

ক্রোন সক্রিয় এবং সমস্যাগুলি ছাড়াই প্রতিটি সকালে চালিত হয়।
মারিয়াস

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

1
কোনও পণ্য সংরক্ষণ করার সময় লক্ষ্য বিধিমালাগুলি সেই পণ্যটির জন্য সূচকযুক্ত হয় এবং এটি শেষ করে: -> কোটইন্টো ($ অ্যান্টিআইএনফো ['नियम_আইডি_ফিল্ড']। 'ইন (?) এবং', $ রুলআইডস '। এটি প্রভাবিত পণ্যের তালিকা থেকে অন্য সমস্ত পণ্য মুছে ফেলে Iআমি যদি টার্গ্রল সূচককে 'ম্যানুয়াল' এ মোড সেট করি তবে বিষয়টি পুনরুত্পাদন করছে না But তবে এটি সমাধান করে না। এটি কেবল এটি আড়াল করে
মারিয়াস

কেউ এটিকে হ্রাস করার কোনও কারণ?
ফ্লোরিনেলচিস

উত্তর:


7

EE 1.13 এ, এই বাগটি ঠিক করা হয়েছে বলে মনে হচ্ছে (তবে EE 1.13 চলে গেছে)

ইন Enterprise_TargetRule_Model_Resource_Index::saveProductIndex, সমস্যার সাথে লাইনটি প্রতিস্থাপন করা হয়েছিল (ইঙ্গিত: 4 র্থ পরম "মিথ্যা")

$targetRule->bindRuleToEntity($ruleId, $productId, 'product', false);

এবং, Mage_Rule_Model_Resource_Abstractফাংশনটি এতে bindRuleToEntityপরিবর্তন করা হয়েছিল:

public function bindRuleToEntity($ruleIds, $entityIds, $entityType, $deleteOldResults = true)

এবং লাইন $adapter->delete(...)আবৃত ছিল

if ($deleteOldResults) {
    $adapter->delete($this->getTable($entityInfo['associations_table']),
           $adapter->quoteInto($entityInfo['rule_id_field']   . ' IN (?) AND ', $ruleIds) .
           $adapter->quoteInto($entityInfo['entity_id_field'] . ' NOT IN (?)',  $entityIds)
    );
 }

আর একটি বাগ, শেল / ইন্ডেক্সার.এফপি --রেইন্ডেক্স টার্গেট্রোল কিছুই করে না, সুতরাং আপনি ক্রোন / কনসোলের মাধ্যমে পুনর্নির্মাণ করতে পারবেন না, যুক্ত করে ঠিক করুন Enterprise_TargetRule_Model_Index:

public function reindexAll() {
    return $this->_getResource()->cleanIndex();
}

লেটার: এই প্যাচটি দেখুন https://github.com/magendooro/targetrulefix


আমি 1.13.1 এ আছি এবং আমি একটি আসছি Integrity constraint violation:for key '5B1C775075460366570ABDA2839BC68A'-> এই কীটি এসেছে enterprise_targetrule_index_related... উল্লিখিত পরিবর্তনের সাথে সম্পর্কিত হলে আপনার কি কোনও ধারণা আছে?
ফ্রে

1

আমি উত্তর হিসাবে যা পেয়েছি তা যুক্ত করার সিদ্ধান্ত নিয়েছি যাতে এই প্রশ্নটি উত্তরহীন হিসাবে চিহ্নিত হবে না।

কোনও পণ্য সংরক্ষণ করার সময় লক্ষ্য বিধিগুলি সেই পণ্যটির জন্য সূচকযুক্ত হয় এবং এটি এটি শেষ করে :( Mage_Rule_Model_Resource_Abstract::bindRuleToEntity())

$adapter->delete($this->getTable($entityInfo['associations_table']), $adapter->quoteInto($entityInfo['rule_id_field'] . ' IN (?) AND ', $ruleIds) . $adapter->quoteInto($entityInfo['entity_id_field'] . ' NOT IN (?)', $entityIds); 

এটি প্রভাবিত পণ্যের তালিকা থেকে অন্য সমস্ত পণ্য মুছে দেয়। আমি যদি টার্গ্রল সূচককে 'ম্যানুয়াল' এ মোড সেট করি তবে সমস্যাটি পুনরায় উত্পাদন হচ্ছে না। তবে এটি এর সমাধান করে না। এটি কেবল এটি লুকায়।

আমার দৃষ্টিকোণ থেকে এটি একটি গুরুতর Magento EE বাগ।


গৃহীত উত্তরগুলি কি আপনার সমস্যার সমাধান করেছে? আমি ইই ১.১১.১.১.০ তে একই সমস্যাটি করছি
ডিসাইকা

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