Magento2.1.0 त्रुटि दिखाते हुए आवश्यक पैरामीटर 'theme_dir' को व्यवस्थापक में उत्पाद सहेजते समय पारित नहीं किया गया था


17

मैं इस त्रुटि का सामना कर रहा हूँ आवश्यक पैरामीटर 'theme_dir' तब पारित नहीं किया गया जब मैं व्यवस्थापक में उत्पाद को बचाने की कोशिश करता हूं। मैंने थीम कॉन्फ़िगरेशन की जाँच की जो इसे स्टोरों को सौंपा गया था। हाल ही में मैंने 2.0.7 से 2.1.0 तक अपग्रेड किया है। इसके अलावा मैंने थीम डायरेक्टरी रजिस्ट्रेशन की जांच की है। फाइल मौजूद है। इस मुद्दे पर कोई भी सामने आया।

जवाबों:


42

यह त्रुटि तब दिखाई देती है जब आप एक टेम्पलेट फ़ोल्डर निकालते हैं, जिसे अभी भी डेटाबेस में संदर्भित किया जाता है। इसे ठीक करने का सबसे सरल तरीका है, डेटाबेस पर जाएं, और तालिका 'थीम' में, उस विषय का नाम खोजें, जो मौजूद नहीं है app/design/frontend/package

DELETE तालिका से लापता विषय का संदर्भ।


यह स्वीकृत उत्तर होना चाहिए।
सीनाबेडन

सही .. काम एक तरह से काम करता है
Zorox

यह स्वीकृत उत्तर होना चाहिए।
डैन वैन डेन बर्ग

2 रिकॉर्ड मेरे डेटाबेस में अतिरिक्त थे जिन्हें मैंने अभी भी काम नहीं किया है
हाफिज उमर

10

मैं पुष्टि कर सकता हूं कि वु अनह द्वारा जवाब काम करता है। यहां बताया गया है कि जब उत्पाद सहेजे जाते हैं तो ऐसा क्यों होता है , हालांकि हटाए गए विषय का उपयोग कहीं नहीं किया जाता है:

किसी उत्पाद को सहेजने के बाद, छवि कैश को सभी थीमों के लिए पुनर्जीवित किया जाता है। प्रत्येक विषय के अपने स्वयं के छवि आकार प्रारूप हो सकते हैं, etc/view.xmlइनमें से सभी को परिभाषित किया जाएगा।

लेकिन सभी दुकानों में कॉन्फ़िगर किए गए विषयों की तलाश के बजाय, Magento themeतालिका में सभी विषयों के माध्यम से जाता है ।

यदि आपने किसी थीम को ठीक से अनइंस्टॉल नहीं किया है और केवल फाइलें हटा दी हैं, तो अनाथ प्रविष्टि एक बिना किसी पथ के संदर्भित करता है और वर्णित अपवाद को फेंक दिया जाता है।


2

मेरे पास एक ही त्रुटि है आवश्यक पैरामीटर 'theme_dir' पारित नहीं किया गया था । मैं शुरुआत से 2.1.0 के साथ काम करता हूं, अपडेट करने के साथ नहीं। और मेरे पास एक कस्टम उत्पाद विशेषता "शैली" है।

समस्या तब होती है जब मैं सामग्री में नई फ़ोटो को सहेजने का प्रयास करता हूं। छवि के बिना, उत्पाद सामान्य रूप से सहेजा गया।

फ़ाइल के तहत अपवाद टिप्पणी के साथ ठीक करें:

vendor/magento/framework/view/design/Fallbck/Rule/Simple.php  

इसने मेरे लिए काम किया। लेकिन मुझे लगता है कि यह एक हैक है।


यह निश्चित रूप से एक हैक है। अपवाद को हटाने के बजाय समस्या को ठीक करें।
डैन वैन डेन बर्ग

-2

अंत में मैंने इसे अपवाद के तहत टिप्पणी करके तय किया vendor/magento/framework/View/Design/Fallback/Rule/Simple.php

if (in_array($placeholder, $this->optionalParams)) {
    return [];
} else {
    return [];
    //throw new \InvalidArgumentException("Required parameter '{$placeholder}' was not passed");
}

4
लेकिन यह त्रुटि को ठीक नहीं करता है, केवल इसे और नहीं दिखाता है। (मुझे लगता है कि Vu Anh का समाधान अधिक ठीक है)
BvdVen

3
यह इस मुद्दे को ठीक करने का सही तरीका नहीं है! Vu Anh से उत्तर की जाँच करें।
मदीना

2
यह एक सर्वोत्तम उपाय नहीं है। कृपया ऐसा न करें
अंकित शाह
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.