প্রয়োজনীয় প্যারামিটার 'থিম_ডির' পাস করা হয়নি


61

ত্রুটির বার্তা কি:

প্রয়োজনীয় প্যারামিটার 'থিম_ডির' পাস করা হয়নি

এটি কি ম্যাজেন্টো 2 এর সাথে সম্পর্কিত? এবং এই সমস্যাটি কীভাবে সংশোধন করা যায়?


আমি থিম ফোল্ডারের অনুমতি পরিবর্তন করে এটি ঠিক করেছি
19:41

প্রতিটি সমাধান চেষ্টা করে, ম্যাজেন্টো পুনরায় ইনস্টল করে শেষ করেছেন
রবার্ট সিনক্লেয়ার

উত্তর:


86

যদি আপনি সরাসরি থিম অপসারণ করেন তবে কেবলমাত্র (ম্যাজেন্টো পথে নয়)।

তারপরে এই পদক্ষেপগুলি অনুসরণ করুন।

পদক্ষেপ 1: ফাইল অপারেশন

সামগ্রীটি মুছুন app/design/frontend/<Vendor>(নিশ্চিত করুন এটির প্রথমে আপনি ব্যাক আপ করবেন)।

ফোল্ডার var/view_preprocessed& এর সমস্ত সামগ্রী মুছুন pub/static/frontend

পদক্ষেপ 2: ডিবি অপারেশনস

আপনার themeটেবিলটিতে যান এবং আপনার তৈরি থিমের জন্য এন্ট্রি মুছুন।

তারপর...

আপনার core_config_dataটেবিলটিতে যান এবং অনুসন্ধান করুন themeএবং এতে আপনি design/theme/theme_idআপনার ডিফল্ট থিম আইডি প্রতিস্থাপনের মতো পাথ রেকর্ডগুলি পাবেন ।

পদক্ষেপ 3: ফ্লাশ ক্যাশে

আপনার ক্যাশে ফ্লাশ করুন php bin/magento cache:flush

এর পরেও যদি আপনার কোনও সমস্যার মুখোমুখি হন তবে আমাকে জানান।


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

@ জিলবার্কার্স: স্বাগতম :)
कौशल সুথার

@ কাউশাল সুতার এটি কোনও কাজ করেনি পরিবর্তে প্রশাসক পাঠ্য বিন্যাসে চলে যান। তারপরে setup:static-content:deployঅ্যাডমিন চালানোর পরে ইউআইতে ফিরে গেল।
আশ্বানি শুক্ল

@ আশওয়ানিশুকলা: প্রক্রিয়া চলাকালীন আপনি হয়ত কিছু ভুল করেছেন ...
কুশল সুথার

@ কাউশাল সুথার আমি যে ভুলটি করেছিলাম তা কেবল pub/static/.htaccessসেখানে ছিল না। ধন্যবাদ
অশ্বানী শুক্লা

28

এই ত্রুটি বার্তার অর্থ হল যে আপনার কাছে একটি থিম কনফিগার করা আছে যা ফাইল-সিস্টেমে বিদ্যমান নেই (আর কোনও)।

পরিবর্তে একটি বৈধ থিম নির্বাচন করে এটি ঠিক করা যেতে পারে। সামগ্রী -> কনফিগারেশনে যান , সুযোগটি (বিশ্বব্যাপী, ওয়েবসাইট, স্টোর ভিউ) নির্বাচন করুন এবং থিমটি পরিবর্তন করুন। আপনি এটি করার পরে আপনার এটি সামগ্রী -> থিমগুলি থেকেও সরিয়ে দেওয়া উচিত ।

স্টোর জন্য থিম পরিবর্তন করুন

তথ্যসূত্র


আপনার থিম ডিরেক্টরিতে সঠিক অনুমতি না থাকলে এটিও হতে পারে।
নাথন মoinনভাজিরী

অনুমতিগুলি ম্যাজেন্টো স্ক্রিপ্টগুলি আফাইক থেকে কিছু দ্বারা পরীক্ষা করা উচিত, তবে আপনি ঠিক বলেছেন, এটি একই হিসাবে যোগ্যতা অর্জন করে: একটি অ্যাক্সেসযোগ্য ডিরেক্টরি প্রায়শই একটি অ-বিদ্যমান ডিরেক্টরিগুলির মতো আচরণ করে।
hakre

3
এটি যে স্থানে অবস্থিত এটি আর নেই। এটি এখন সামগ্রী ট্যাবে।
কারকম্প

@ কারকম্প: একটি আপডেট হওয়া স্ক্রিনশট সরবরাহ করতে এবং উত্তর সম্পাদনা করতে নির্দ্বিধায় আমি যখন উত্তর দিয়েছি তখন তা নথিভুক্ত ছিল।
hakre

11

আমার ক্ষেত্রে আমি বিক্রেতা ডিরেক্টরি থেকে একটি শিশু থিম মুছে ফেলেছি। কিন্তু ডিবি এন্ট্রি এখনও themeটেবিলে ছিল। সুতরাং themeটেবিলে যান এবং মুছে ফেলা থিমটি নির্দেশ করে এমন রেকর্ড মুছুন।


আপনি কীভাবে বিক্রেতা ডিরেক্টরি থেকে মুছলেন? সুরকার দ্বারা composer remove vendor/theme?
hakre

না, কেবলrm -rf vendor/theme
অরবিন্দ ০7

7

themeসারণী এন্ট্রি এবং magento\app\design\frontend\<Vendor>এন্ট্রি একই হবে তা নিশ্চিত করুন ।

তা না হলে এটি এই সমস্যাটি সৃষ্টি করে।

অ্যাডমিন -> সামগ্রী -> ডিজাইন -> থিমগুলির মাধ্যমে অপ্রয়োজনীয় থিম সরান । মুছে ফেল. সুতরাং এটি পাশাপাশি ডিবি এন্ট্রি অপসারণ করবে।

আপনি যদি কেবল ফোল্ডারটি সরিয়ে থাকেন তবে এটি কার্যকর হবে না


7

এই সমস্যাটি তখনই ঘটতে পারে যখন আপনি একটি অনুকরণীয় অবস্থায় থাকুন, উদাহরণস্বরূপ একটি সি এল এল কমান্ডে। আমার এমন পরিস্থিতি হয়েছিল যেখানে আমি সিএলআইতে কোনও ইমেল প্রেরণ করতে পারি না, কারণ মোড়ানোর আদেশটি অনুকরণীয় অবস্থায় চলছিল:

$this->appState->emulateAreaCode(AppArea::AREA_GLOBAL, function() {
    // In this section the email was sent
});

উপরের উদাহরণে, যখন ইমেলটি এটির টেম্পলেটটি নির্ধারণ করার চেষ্টা করছিল, তখন এটি মানচিত্র তৈরি করবে global/Magento/backendযা অস্তিত্বহীন। এটি ঠিক করতে, আমাকে নিজেই এটি আমার নির্মাণকারীর মধ্যে যুক্ত করতে হয়েছিল:

/** @var \Magento\Framework\Component\ComponentRegistrarInterface $componentRegistrar */
// Make the admin theme global accessible for sending e-mails:
\Magento\Framework\Component\ComponentRegistrar::register(
    'theme',
    'global/Magento/backend',
    $componentRegistrar->getPath('theme', 'adminhtml/Magento/backend')
);

এই ঠিক করার পরে, সমস্যাটি সমাধান হয়ে গেছে এবং আমি ইমেলটি প্রেরণ করতে পারি।

হালনাগাদ:

সিএলআই ব্যবহার করে মেল প্রেরণের ক্ষেত্রে, অনুকরণটি ব্যবহার করার জন্য আরও সঠিক পদ্ধতির উপায় হবে। উদাহরণ স্বরূপ:

/** @var Magento\Framework\App\State $state */
$state->emulateAreaCode(
    'frontend',
    [$this->accountManagement, 'initiatePasswordReset'],
    [
        $customer->getEmail(),
        AccountManagement::EMAIL_REMINDER,
        $customer->getWebsiteId()
    ]
);

এইভাবে আপনার নোংরা ছোট্ট হ্যাকের দরকার নেই।


এই গভীরতা ভাগ করে নেওয়ার জন্য ধন্যবাদ। এই উত্তরটি নিজের পক্ষে একটি FAQ হয়ে ওঠে, দেখতে খুব সুন্দর।
হ্যাক্রে

4

চালান sql UPDATE core_config_data SET value=NULL WHERE path='design/theme/theme_id'

তারপর পরিষ্কার pub/static/frontend, var/view_preprocessing, var/cache, var/page_cacheডিরেক্টরি।


1

@hakre সঠিক। আমি একই ত্রুটি পেয়েছি Required parameter 'theme_dir' was not passed। ত্রুটির কারণ হিসাবে আমি কী করেছি তা নীচে আমি ব্যাখ্যা করছি:

আমি অ্যাপ্লিকেশন / ডিজাইন / ফ্রন্টএন্ড / মাইভেন্ডার থিম 2 / মাই থেমনেম 2 ডিরেক্টরিতে একটি থিম তৈরি করেছি এবং তারপরে ম্যাজেন্টো 2 অ্যাডমিন ব্রাউজারে " MyVendorTheme2 - myThemeName2 " থিমটি নির্বাচন করে এটি কনফিগার করেছি ( স্টোর> কনফিগারেশন> থিম সেটিং> জেনারাল > ডিজাইন> ডিজাইন থিম ) । তবে আমি তখন " আমার ThemeName2 " ডিরেক্টরিটি (আমার নতুন থিম সম্বলিত) আলাদা (বিদ্যমান) বিক্রেতা ফোল্ডার " MyVendorTheme1 " অ্যাপ্লিকেশন / ডিজাইন / ফ্রন্টট্যান্ড / MyVendorTheme1 / myThemeName2 এর অধীনে স্থানান্তরিত করার সিদ্ধান্ত নিয়েছি এবং এটি " মাইভেন্ডার থিম 2 " ফোল্ডার থেকে সরিয়ে নিয়েছি যেখানে এটা আগে ছিল। আমি সম্পদ কম্পাইল করার (রইল অর্থাত grunt clean, grunt exec:myThemeName2,grunt less:myThemeName2), এবং তারপরে আমার থিম সাবডোমেনে (যেমন http: // myvirtualhostdomain: myport / myvendortheme1_mythemename2_magento2_quickstart / ) এ আমার ব্রাউজারটি খোলে ।

প্রথমদিকে আমি একটি অনির্দিষ্ট ত্রুটি পেয়েছি: There has been an error processing your request Exception printing is disabled by default for security reasons. Error log record number:

আমি পুনঃনামকরনের দ্বারা এরর রিপোর্টিং সক্রিয় pub/errors/local.xml.sampleকরতে local.xml, এবং পৃষ্ঠা রিফ্রেশ। আমি তখন ত্রুটি সহ উপস্থাপিত হয়েছিল Required parameter 'theme_dir' was not passed

আমি আমার ম্যাজেন্টো 2 অ্যাডমিন ব্রাউজারে ( স্টোরস> কনফিগারেশন> থিম সেটিং> জেনারাল> ডিজাইন> ডিজাইন থিম ) ফিরে গিয়ে ত্রুটিটি সমাধান করেছি, সুতরাং আমি সঠিকটিটি বেছে নিয়েছি।


Env.php- এ পুনরায় কনফিগারেশনের জন্য 'ক্যাশে' যুক্ত করার পরে আমি এই ত্রুটিটি পেয়েছি। পরিবর্তনগুলি সরান, এবং এটি ঠিক কাজ করে works তবে কেন কেবল 'ক্যাশে' যুক্ত করার পরে? আমি অ্যারের সিনট্যাক্সটি পরীক্ষা করেছিলাম এবং এটি ঠিক আছে। একই ক্যাশে => মানটি আমার মঞ্চের সার্ভারে কাজ করছে (কাটা / আটকানো)
স্কট

1

একটি কাস্টম থিম ইনস্টল করার পরে পণ্য চিত্রগুলি সংরক্ষণ করার সময় আমার এই ত্রুটিটি ঘটেছে।

আমার কাছে কাস্টম থিমটি ভার্চুয়াল টাইপ হিসাবে সেট করা ছিল, এটি থিম টেবিলের ডিবিতে, টাইপ = 1 করুন 1. আমার ক্ষেত্রে আমি থিমটি আর ব্যবহার করছিলাম না তাই আমি এটিকে টেবিল থেকে মুছে ফেললাম।


1

1 - অ্যাডমিন প্যানেলে থিমগুলি শনাক্ত করতে নীচের কমান্ডটি ব্যবহার করুন।

n98-magerun2 dev:theme:list

2 - ইনস্টল করা থিমগুলি সনাক্ত করতে কমান্ডটি চালান:

ls -lha app/design/frontend/MyThemePackage/

3- বিদ্যমান নেই এমন থিম তৈরি করতে নীচে এই আদেশগুলি চালান:

n98-magerun2 deploy:mode:set developer
n98-magerun2 dev:console
make:theme frontend MyThemePackage MyThemeName

0

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


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

0

আপনি যখন পণ্য যুক্ত বা সম্পাদনা করছেন তখন ডিজাইন বিভাগে যান এবং লেআউট বিকল্পটি পরিবর্তন করুন।

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


0

আপনি নীচের এই কোয়েরিটি সম্পাদন করে সরাসরি ডিবি থেকে অব্যবহৃত থিমটি সরিয়ে ফেলতে পারেন:

delete from theme where theme_path in ('unusedtheme');

যখন অপ্রয়োজনীয় থিমটি অব্যবহৃত থিম এবং আপনি নিজের ক্যাশে ছাড়িয়ে নেবেন


0

আমি দুর্ঘটনা অ্যাপ্লিকেশন / ডেসিং / অ্যাডমিনটিচটিএমএল / থিম-নাম ফোল্ডার দ্বারা সরানোর সময় আমার এই সমস্যাটি ছিল। এটিকে ফিরিয়ে আনা আমার সমস্যার সমাধান করেছে। তবুও এটি তখনই ঘটেছিল যখন আমি অ্যাডমিন প্যানেলে প্রবেশ করার চেষ্টা করেছি।


0

কিছু ক্ষেত্রে আপনি কাস্টম থিমটি যথাযথ উপায়ে মুছুন তবে আপনিও এই ত্রুটির মুখোমুখি হবেন। এই অবস্থায়:

1) you have to delete that entry/row from 'theme' table.
2) set value 1 (1 for blank theme 2 for Luma what ever you want to set) against 'design/theme/theme_id'

রিফ্রেশ করুন পৃষ্ঠা ত্রুটি চলে গেছে।


0

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


0

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

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

আশা করি এটি কারও সাহায্য করবে।


-1

ওয়েবসাইটে সমস্ত থিম অস্থায়ী ফাইলগুলি মুছুন যা ওয়েবসাইটে ব্যবহৃত হচ্ছে না এবং থিম থেকে মুছুন যা ব্যবহার করছে না এবং ক্যাশে চালাচ্ছে না: ফ্লাশ

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