Magento Layout XML কী এবং এর ব্যবহার

Magento Layout এবং XML Customization - ম্যাজেন্টো ফ্রেমওয়ার্ক (Magento Framework) - Web Development

312

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

ম্যাজেন্টোতে লেআউট XML ফাইলগুলি থিম এবং মডিউলগুলির মধ্যে ব্যবহৃত হয়, যা ব্যবহারকারীর ইন্টারফেসের একাধিক উপাদান কাস্টমাইজ ও রেন্ডার করতে সহায়ক।


Magento Layout XML এর ব্যবহার

Magento তে লেআউট XML ফাইলের প্রধান উদ্দেশ্য হল পৃষ্ঠার কাঠামো তৈরি এবং UI উপাদানগুলোকে কাস্টমাইজ করা। প্রতিটি লেআউট ফাইল একটি নির্দিষ্ট পৃষ্ঠা বা মডিউলের জন্য কনফিগারেশন প্রদান করে এবং এটি থিম বা মডিউলের মূল অংশ হিসেবে কাজ করে। এখানে কিছু সাধারণ ব্যবহারের উদাহরণ দেওয়া হলো:


১. লেআউট XML এর গঠন

Magento ফ্রেমওয়ার্কে সাধারণত দুটি ধরনের লেআউট XML ফাইল থাকে:

  • পেইজ লেআউট XML (Page Layout XML): এটি পুরো পৃষ্ঠার লেআউট কনফিগার করে।
  • কন্ট্রোলার লেআউট XML (Controller Layout XML): এটি নির্দিষ্ট কন্ট্রোলারের জন্য কাস্টম লেআউট কনফিগার করে।

উদাহরণ: একটি সাধারণ লেআউট XML ফাইল

<?xml version="1.0"?>
<layout version="0.1.0">
    <default>
        <referenceBlock name="header" remove="true"/>
        <referenceBlock name="footer" remove="true"/>
    </default>
    <catalog_product_view>
        <referenceBlock name="product.info.main">
            <block class="Magento\Catalog\Block\Product\View" name="custom_product_block" template="Magento_Catalog::product/custom_template.phtml"/>
        </referenceBlock>
    </catalog_product_view>
</layout>

এখানে, XML ফাইলের মধ্যে <referenceBlock> ট্যাগ ব্যবহার করে কিছু ব্লক রেফারেন্স করা হয়েছে এবং remove="true" দিয়ে কিছু ব্লককে সরানো হয়েছে। এটি পুরো পৃষ্ঠা বা নির্দিষ্ট পৃষ্ঠা কাস্টমাইজ করার জন্য ব্যবহার করা যেতে পারে।


২. লেআউট XML এর প্রধান উপাদান

block ট্যাগ

Magento তে block ট্যাগটি একটি UI উপাদানকে উল্লেখ করে, যা পৃষ্ঠার বিভিন্ন অংশে ডেটা রেন্ডার করে। উদাহরণস্বরূপ, একটি পণ্য প্রদর্শন করতে একটি block ব্যবহার করা হতে পারে।

<block class="Magento\Catalog\Block\Product\View" name="product.info.main" template="Magento_Catalog::product/view.phtml"/>

এখানে, product.info.main নামের একটি ব্লক তৈরি করা হয়েছে এবং এটি পণ্য প্রদর্শনের জন্য একটি টেমপ্লেট ফাইল ব্যবহার করবে।

referenceBlock ট্যাগ

referenceBlock ট্যাগটি একটি বিদ্যমান ব্লক বা উপাদানকে রেফারেন্স করতে ব্যবহৃত হয় এবং এটি সেই ব্লকের মধ্যে পরিবর্তন বা নতুন ব্লক যোগ করতে সাহায্য করে।

<referenceBlock name="header">
    <block class="Magento\Framework\View\Element\Text" name="new_header_block" before="-" template="Magento_Theme::new-header.phtml"/>
</referenceBlock>

এখানে, header ব্লকটিতে একটি নতুন ব্লক যোগ করা হয়েছে যা new-header.phtml টেমপ্লেট ফাইল রেন্ডার করবে।

container ট্যাগ

container ট্যাগটি একটি কন্টেইনার উপাদান তৈরি করে, যা এক বা একাধিক ব্লক ধারণ করতে পারে। এটি লেআউটের একটি অঞ্চল বা বিভাগ নির্ধারণ করতে ব্যবহার করা হয়।

<container name="content" label="Main Content" htmlTag="div" htmlClass="content"/>

এখানে, content নামের একটি কন্টেইনার তৈরি করা হয়েছে, যা HTML div ট্যাগের মধ্যে রেন্ডার হবে এবং এর মধ্যে বিভিন্ন ব্লক ধারণ করবে।

remove অ্যাট্রিবিউট

remove অ্যাট্রিবিউট ব্যবহার করে নির্দিষ্ট ব্লক বা কন্টেন্ট অপসারণ করা যায়। উদাহরণস্বরূপ:

<referenceBlock name="footer" remove="true"/>

এটি পৃষ্ঠার ফুটার অংশ সরিয়ে ফেলবে।


৩. লেআউট XML কাস্টমাইজেশন

Magento তে থিম বা মডিউল কাস্টমাইজ করতে layout XML ফাইল ব্যবহার করা হয়। এটি সাইটের পৃষ্ঠার লেআউট এবং UI কনফিগার করতে সাহায্য করে। নিচে কিছু সাধারণ কাস্টমাইজেশন প্রদর্শন করা হলো:

১. নতুন ব্লক যোগ করা

<referenceBlock name="content">
    <block class="Magento\Framework\View\Element\Text" name="custom_block" template="Magento_Theme::custom_template.phtml"/>
</referenceBlock>

এটি content ব্লকের মধ্যে একটি নতুন ব্লক যোগ করবে, যা custom_template.phtml টেমপ্লেট ফাইল ব্যবহার করবে।

২. নির্দিষ্ট পৃষ্ঠার লেআউট কাস্টমাইজ করা

<catalog_product_view>
    <referenceBlock name="product.info.main">
        <block class="Magento\Catalog\Block\Product\View" name="custom_product_block" template="Magento_Catalog::product/custom_template.phtml"/>
    </referenceBlock>
</catalog_product_view>

এটি পণ্য পৃষ্ঠা (catalog_product_view) এর জন্য কাস্টম টেমপ্লেট যোগ করবে।


সারাংশ

Magento এর Layout XML ফাইল একটি অত্যন্ত শক্তিশালী টুল যা ই-কমার্স সাইটের পৃষ্ঠাগুলির কাঠামো, উপাদান এবং কনটেন্ট নিয়ন্ত্রণ করতে সহায়ক। এটি ব্লক, কন্টেইনার, টেমপ্লেট, এবং বিভিন্ন লেআউট কাস্টমাইজেশন পরিচালনা করে, যা ব্যবহারকারীর জন্য একক এবং সুন্দর পৃষ্ঠা অভিজ্ঞতা তৈরি করতে সহায়ক। Magento তে Layout XML ব্যবহার করে আপনি পৃষ্ঠার কাস্টমাইজেশন করতে পারেন এবং আপনার সাইটের কাঠামো ও ডিজাইন নিয়ন্ত্রণ করতে পারবেন।

Content added By
Promotion

Are you sure to start over?

Loading...