লেআউট এক্সএমএলের ভুল লোডিং অর্ডার


15

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

স্পষ্টতই, এখানে ক্যাচিং কোনও অংশ খেলছে না। আমি যোগ করেছি Mage_Adminhtmlমধ্যে <depends/>মডিউল ঘোষণা ফাইলে নোড।

এটি কি এমন সমস্যা যা আপনার আগে ছিল? তা হলে কীভাবে সমাধান করা যায়?

আমি এই ইস্যুটির সাথে বেশ কয়েকবার কাজ করেছি এবং প্রতিবারই সমাধান পেয়েছি, তবে এটি প্রথম স্থানে কী ঘটেছিল তা আমি বুঝতে পারি না।

উত্তর:


16

এটি একটি দৃ concrete় উদাহরণ ব্যতীত বলা শক্ত, তবে আমার সন্দেহ হয় যে আপনি কোনও ফাইল অর্ডার বনাম হ্যান্ডেল অর্ডার সমস্যা নিয়ে চলেছেন।

বিশেষত, ম্যাজেন্টো তার এক্সএমএল ফাইলগুলি মডিউল ক্রমে লোড করে, local.xmlসর্বশেষে ট্যাকযুক্ত। ক্রম অনুসারে এখানে একটি সাধারণ তালিকা রয়েছে

frontend/base/default/layout/core.xml
frontend/rwd/default/layout/page.xml
frontend/rwd/default/layout/directory.xml
frontend/rwd/default/layout/cms.xml
frontend/rwd/default/layout/customer.xml
frontend/rwd/default/layout/catalog.xml
frontend/rwd/default/layout/catalog_msrp.xml
frontend/rwd/default/layout/catalogsearch.xml
frontend/base/default/layout/payment.xml
frontend/rwd/default/layout/sales.xml
frontend/base/default/layout/sales/billing_agreement.xml
frontend/base/default/layout/sales/recurring_profile.xml
frontend/base/default/layout/cataloginventory.xml
frontend/base/default/layout/shipping.xml
frontend/rwd/default/layout/checkout.xml
frontend/rwd/default/layout/paypal.xml
frontend/base/default/layout/bml.xml
frontend/rwd/default/layout/poll.xml
frontend/rwd/default/layout/review.xml
frontend/rwd/default/layout/tag.xml
frontend/base/default/layout/reports.xml
frontend/base/default/layout/googleanalytics.xml
frontend/rwd/default/layout/wishlist.xml
frontend/base/default/layout/paypaluk.xml
frontend/base/default/layout/giftmessage.xml
frontend/rwd/default/layout/contacts.xml
frontend/base/default/layout/sendfriend.xml
frontend/rwd/default/layout/rss.xml
frontend/base/default/layout/productalert.xml
frontend/rwd/default/layout/oauth.xml
frontend/base/default/layout/authorizenet.xml
frontend/rwd/default/layout/bundle.xml
frontend/rwd/default/layout/captcha.xml
frontend/base/default/layout/centinel.xml
frontend/rwd/default/layout/newsletter.xml
frontend/rwd/default/layout/downloadable.xml
frontend/base/default/layout/pagecache.xml
frontend/rwd/default/layout/persistent.xml
frontend/base/default/layout/weee.xml
frontend/base/default/layout/xmlconnect.xml
frontend/base/default/layout/moneybookers.xml
frontend/base/default/layout/pulsestorm_checkoutstep.xml
frontend/rwd/default/layout/local.xml

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

<config>
    <handle_name>
    </handle_name>
</config>

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

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

চিত্রগুলি বন্ধ রয়েছে তাদের জন্য, সেই নির্দিষ্ট পৃষ্ঠার অনুরোধের জন্য জারি করা হ্যান্ডলগুলি ছিল

<default />
<catalog_category_layered_nochildren />
<STORE_default />
<THEME_frontend_rwd_default />
<catalog_category_view />
<catalog_category_default />
<CATEGORY_3 />

এর অর্থ কী, ম্যাজেন্টো প্রতিটি defaultএক্সএমএল অংশটি চালাবে : প্রথমে core.xmlফাইলের জন্য, তারপরে ফাইলের প্রতিটি defaultঅংশ page.xml, নীচে local.xml

তারপরে, ম্যাজেন্টো প্রতিটি catalog_category_layered_nochildrenএক্সএমএল খণ্ডটি চালাবে : প্রথমে core.xmlফাইলের জন্য, তারপরে page.xmlফাইলের জন্য, সমস্ত পথে নামানো হবে local.xml

এটি প্রতিটি হ্যান্ডেলের জন্য অবিরত থাকে।

এর মানে কি, যদি আপনি বিন্যাস আপডেট এক্সএমএল একটি বিট আছে local.xmlএকটি ভিতরে defaultহাতল, এটা চালানো হবে সামনে এ বিন্যাস আপডেট এক্সএমএল একটি বিট core.xmlভিতরে যে catalog_category_layered_nochildrenহাতল। এটি এখন পর্যন্ত XML সিস্টেমের বিন্যাসে সর্বাধিক বিভ্রান্তির কারণ হয়ে দাঁড়ায়, বিশেষত যেহেতু প্রচলিত প্রচলিত জ্ঞান ভাসমান যা "লোকাল.এক্সএমএল লোড শেষ" বলে says

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

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