ম্যাজেন্টো ফ্রেমওয়ার্ক (Magento Framework) ই-কমার্স সাইটের ডিজাইন এবং ফিচারের কাস্টমাইজেশন জন্য অত্যন্ত শক্তিশালী এবং নমনীয় প্ল্যাটফর্ম। Magento সাইটের লেআউট এবং ডিজাইন কাস্টমাইজ করতে XML ফাইলের মাধ্যমে কাস্টমাইজেশন করা হয়। এটি Magento এর লেআউট সিস্টেমকে পুরোপুরি কাস্টমাইজ করার সুযোগ দেয়, যা ব্যবহারকারীদের সাইটের ভিজ্যুয়াল এবং ফাংশনালিটি পরিবর্তন করতে সহায়ক।
Magento-তে লেআউট কাস্টমাইজেশন এবং XML ফাইল ব্যবহারের মাধ্যমে ব্যবহারকারীরা তাদের সাইটের বিভিন্ন পেজ, ব্লক, ক্যাটালগ, পণ্যের প্রদর্শনী ইত্যাদি নিয়ন্ত্রণ করতে পারে। Magento এর লেআউট সিস্টেম মূলত XML ফাইলের মাধ্যমে পরিচালিত হয়, যা পেজের উপাদান এবং তাদের অবস্থান নির্ধারণ করে।
Magento এর লেআউট কাস্টমাইজেশন পদ্ধতি খুবই নমনীয় এবং এটি ব্যবহারকারীদের পুরো সাইটের ডিজাইন এবং ইউজার এক্সপেরিয়েন্স উন্নত করার সুযোগ দেয়।
Magento-তে লেআউট কাস্টমাইজেশন মূলত XML ফাইলের মাধ্যমে পরিচালিত হয়। XML ফাইলের মাধ্যমে আপনি সাইটের বিভিন্ন ব্লক (Blocks), কন্টেন্ট (Content) এবং উইজেট (Widgets) যুক্ত বা পরিবর্তন করতে পারেন। এই ফাইলগুলো Magento এর ভিউ পেজ (View Pages) এর লেআউট স্ট্রাকচার তৈরি করতে ব্যবহৃত হয়।
Magento তে লেআউট XML ফাইলের মধ্যে কিছু গুরুত্বপূর্ণ ট্যাগ এবং স্ট্রাকচার থাকে, যেগুলি আপনি কাস্টমাইজ করতে পারেন। সাধারণভাবে, XML ফাইলগুলো app/design/frontend/<Vendor>/<Theme>/layout/
ডিরেক্টরিতে অবস্থিত থাকে।
প্রধান কিছু XML ট্যাগের উদাহরণ:
<referenceContainer>
এটি একটি পেজের কন্টেইনারের মধ্যে ব্লকগুলির অবস্থান পরিবর্তন করার জন্য ব্যবহৃত হয়।
<referenceContainer name="content">
<block class="Magento\Cms\Block\Block" name="my_custom_block" before="-" template="Magento_Cms::content.phtml"/>
</referenceContainer>
<referenceBlock>
এটি একটি নির্দিষ্ট ব্লকের কনফিগারেশন পরিবর্তন করতে ব্যবহৃত হয়।
<referenceBlock name="product.info.main">
<block class="Magento\Catalog\Block\Product\View\Description" name="custom.product.description" />
</referenceBlock>
<block>
এটি একটি ব্লক তৈরি করার জন্য ব্যবহৃত হয়। এটি পেজে একটি নির্দিষ্ট ব্লক যোগ করতে সাহায্য করে।
<block class="Magento\Cms\Block\Block" name="custom.block" template="Magento_Cms::custom_block.phtml"/>
<container>
এটি ব্লকগুলিকে একটি নির্দিষ্ট কনটেইনারে লোড করতে ব্যবহৃত হয়।
<container name="custom.container" htmlTag="div" htmlClass="custom-class">
<block class="Magento\Cms\Block\Block" name="custom_block" template="Magento_Cms::content.phtml"/>
</container>
আপনি যদি Magento সাইটের লেআউট কাস্টমাইজ করতে চান, তবে প্রথমে একটি কাস্টম লেআউট ফাইল তৈরি করতে হবে। এটি সাধারণত app/design/frontend/<Vendor>/<Theme>/layout/
ডিরেক্টরিতে তৈরি করা হয়।
উদাহরণ:
<layout version="0.1.0">
<referenceContainer name="content">
<block class="Magento\Cms\Block\Block" name="custom.cms.block" template="Magento_Cms::custom_block.phtml"/>
</referenceContainer>
</layout>
Magento এর ব্লক সিস্টেমের মাধ্যমে আপনি সাইটের যেকোনো কন্টেন্ট বা ফাংশনালিটি কাস্টমাইজ করতে পারেন। ব্লকটি একটি নির্দিষ্ট কাজ বা তথ্য প্রদর্শনের জন্য ব্যবহৃত হয়।
<block class="Magento\Cms\Block\Block" name="custom_block" template="Magento_Cms::content.phtml"/>
Magento-তে আপনি কাস্টম লেআউট ফাইল ব্যবহার করে ব্লকগুলির অবস্থান, শৈলী এবং কন্টেন্ট কাস্টমাইজ করতে পারেন।
<referenceContainer name="content">
<block class="Magento\Cms\Block\Block" name="cms.customblock" before="-" template="Magento_Cms::custom.phtml"/>
</referenceContainer>
Magento-তে লেআউট কাস্টমাইজেশনের সময় আপনি CSS ফাইলও যুক্ত করতে পারেন। এটি পেজের লুক এবং ফিল পরিবর্তন করতে সাহায্য করে।
<head>
<css src="css/custom_styles.css"/>
</head>
Magento এর লেআউট XML ফাইলের মাধ্যমে সাইটের ডিজাইন এবং ফিচার সহজে কাস্টমাইজ করা যায়। আপনি চাইলে একটি নির্দিষ্ট ব্লক বা কন্টেন্ট স্থান পরিবর্তন করতে পারবেন।
Magento এর লেআউট কাস্টমাইজেশন প্ল্যাটফর্মটি অনেক বেশি নমনীয়। এটি ব্যবহারকারীদের সাইটের প্রতিটি অংশ কাস্টমাইজ করতে সক্ষম করে, এমনকি ছোট পরিবর্তনও সহজে করা যায়।
Magento লেআউট কাস্টমাইজেশনের মাধ্যমে আপনি সাইটের রেসপন্সিভ ডিজাইন তৈরি করতে পারেন, যা মোবাইল এবং ডেস্কটপ ডিভাইসে সমানভাবে কার্যকরী হবে।
আপনি লেআউট কাস্টমাইজ করে আপনার সাইটের ব্যবহারকারীদের জন্য একটি উন্নত এবং আকর্ষণীয় ইউজার এক্সপেরিয়েন্স তৈরি করতে পারেন, যা গ্রাহক ধরে রাখার ক্ষেত্রে সহায়ক।
Magento এর লেআউট এবং XML কাস্টমাইজেশন এর মাধ্যমে ব্যবহারকারীরা তাদের সাইটের ডিজাইন এবং ফিচার কাস্টমাইজ করতে পারে। XML ফাইল ব্যবহার করে পেজের ব্লক, কন্টেন্ট, এবং উইজেট সঠিকভাবে স্থাপন ও কাস্টমাইজ করা সম্ভব। এটি আপনাকে একটি আরও সাশ্রয়ী, নমনীয় এবং কাস্টমাইজযোগ্য ই-কমার্স সাইট তৈরি করতে সহায়তা করবে, যা ব্যবসায়িক প্রয়োজন অনুযায়ী অপ্টিমাইজড।
Magento ফ্রেমওয়ার্কে লেআউট XML একটি গুরুত্বপূর্ণ ফাইল যা Magento থিমের কাঠামো এবং উপাদানগুলির গঠন নির্ধারণ করে। এটি স্টোরের বিভিন্ন পৃষ্ঠার লেআউট কন্ট্রোল করার জন্য ব্যবহৃত হয়, যেমন পণ্য পৃষ্ঠা, ক্যাটালগ পৃষ্ঠা, চেকআউট পৃষ্ঠা, এবং আরও অনেক কিছু। লেআউট XML এর মাধ্যমে আপনি কনটেন্টের উপাদানগুলোকে সঠিকভাবে স্থাপন করতে পারেন, যেমন হেডার, ফুটার, সাইডবার, পণ্য লিস্ট, গ্রিড ইত্যাদি।
ম্যাজেন্টোতে লেআউট XML ফাইলগুলি থিম এবং মডিউলগুলির মধ্যে ব্যবহৃত হয়, যা ব্যবহারকারীর ইন্টারফেসের একাধিক উপাদান কাস্টমাইজ ও রেন্ডার করতে সহায়ক।
Magento তে লেআউট XML ফাইলের প্রধান উদ্দেশ্য হল পৃষ্ঠার কাঠামো তৈরি এবং UI উপাদানগুলোকে কাস্টমাইজ করা। প্রতিটি লেআউট ফাইল একটি নির্দিষ্ট পৃষ্ঠা বা মডিউলের জন্য কনফিগারেশন প্রদান করে এবং এটি থিম বা মডিউলের মূল অংশ হিসেবে কাজ করে। এখানে কিছু সাধারণ ব্যবহারের উদাহরণ দেওয়া হলো:
Magento ফ্রেমওয়ার্কে সাধারণত দুটি ধরনের লেআউট 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"
দিয়ে কিছু ব্লককে সরানো হয়েছে। এটি পুরো পৃষ্ঠা বা নির্দিষ্ট পৃষ্ঠা কাস্টমাইজ করার জন্য ব্যবহার করা যেতে পারে।
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 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 name="content" label="Main Content" htmlTag="div" htmlClass="content"/>
এখানে, content
নামের একটি কন্টেইনার তৈরি করা হয়েছে, যা HTML div
ট্যাগের মধ্যে রেন্ডার হবে এবং এর মধ্যে বিভিন্ন ব্লক ধারণ করবে।
remove অ্যাট্রিবিউট ব্যবহার করে নির্দিষ্ট ব্লক বা কন্টেন্ট অপসারণ করা যায়। উদাহরণস্বরূপ:
<referenceBlock name="footer" remove="true"/>
এটি পৃষ্ঠার ফুটার অংশ সরিয়ে ফেলবে।
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 ব্যবহার করে আপনি পৃষ্ঠার কাস্টমাইজেশন করতে পারেন এবং আপনার সাইটের কাঠামো ও ডিজাইন নিয়ন্ত্রণ করতে পারবেন।
ম্যাজেন্টো ফ্রেমওয়ার্কে Layout Handle এবং Block Configuration হল ই-কমার্স সাইটের ফ্রন্টএন্ড এবং ব্যাকএন্ড ডিজাইন এবং কন্টেন্টের কাঠামো তৈরি করার জন্য ব্যবহৃত অত্যন্ত গুরুত্বপূর্ণ কনফিগারেশন ফিচার। এগুলি ম্যাজেন্টো সাইটের ভিজ্যুয়াল ও কন্টেন্ট ম্যানেজমেন্টের মূল অংশ। এখানে আমরা Layout Handle এবং Block কনফিগারেশন সম্পর্কে বিস্তারিত আলোচনা করব।
Magento তে Layout Handle হল একটি কনফিগারেশন ফাইল যা HTML এবং ব্লক এর কাঠামো নির্ধারণ করে। এটি ম্যাজেন্টোর বিভিন্ন পৃষ্ঠা এবং সেগমেন্টের জন্য উপযুক্ত লেআউট এবং ব্লক কনফিগারেশনের দিকনির্দেশনা প্রদান করে।
Magento তে layout handles কনফিগার করার জন্য XML ফাইল ব্যবহার করা হয়। প্রতিটি পৃষ্ঠা বা অ্যাকশন এর জন্য একটি বিশেষ লেআউট হ্যান্ডেল থাকে। এগুলি সাধারণত app/design/frontend/<Vendor>/<theme>/layout
ডিরেক্টরিতে সংরক্ষিত থাকে।
যেমন:
উদাহরণ:
<layout version="0.1.0">
<referenceContainer name="content">
<block class="Magento\Catalog\Block\Product\View" name="product.info" template="Magento_Catalog::product/view.phtml"/>
</referenceContainer>
</layout>
এখানে, referenceContainer
নামক ট্যাগটি content
কনটেইনারের মধ্যে একটি ব্লক স্থাপন করে, যেখানে Magento\Catalog\Block\Product\View
ক্লাসের একটি ব্লক ব্যবহার করা হয়েছে।
Block হল একটি গুরুত্বপূর্ণ উপাদান যা পৃষ্ঠার কন্টেন্ট রেন্ডার করার জন্য ব্যবহৃত হয়। একটি ব্লক একটি নির্দিষ্ট UI এলিমেন্ট (যেমন প্রোডাক্ট তথ্য, ক্যাটালগ, গ্রাহক রিভিউ ইত্যাদি) রেন্ডার করে। এটি PHP ক্লাস এবং টেমপ্লেট ফাইলের মাধ্যমে পৃষ্ঠায় কন্টেন্ট প্রদান করে।
Magento তে ব্লক কনফিগার করার জন্য দুটি প্রধান উপায় রয়েছে: PHP কোড এবং XML ফাইলের মাধ্যমে।
Magento ব্লক সাধারণত PHP ক্লাস হিসেবে তৈরি করা হয়, যা একটি নির্দিষ্ট টেমপ্লেট ফাইলের মাধ্যমে রেন্ডার করা হয়। এই ক্লাসগুলি app/code/<Vendor>/<Module>/Block
ডিরেক্টরিতে সংরক্ষিত থাকে।
উদাহরণ:
<?php
namespace Vendor\Module\Block;
class CustomBlock extends \Magento\Framework\View\Element\Template
{
protected $_template = 'Vendor_Module::custom/block.phtml';
public function getCustomData()
{
return 'This is custom data';
}
}
এখানে, CustomBlock
ব্লক ক্লাসটি একটি পিএইচপি টেমপ্লেট ফাইল (block.phtml
) রেন্ডার করে এবং getCustomData
ফাংশনের মাধ্যমে কাস্টম ডেটা প্রদান করে।
Magento তে ব্লক কনফিগার করার জন্য XML ফাইল ব্যবহৃত হয়, যা লেআউট হ্যান্ডলস এবং ব্লক কনফিগারেশন নির্ধারণ করে।
উদাহরণ:
<layout version="0.1.0">
<referenceContainer name="content">
<block class="Vendor\Module\Block\CustomBlock" name="custom_block" template="Vendor_Module::custom/block.phtml"/>
</referenceContainer>
</layout>
এখানে, referenceContainer
ট্যাগটি ব্লকটি content
কনটেইনারে স্থাপন করে এবং template
অ্যাট্রিবিউটের মাধ্যমে নির্দিষ্ট টেমপ্লেট ফাইল রেন্ডার করে।
Magento তে Layout Handle এবং Block কনফিগারেশন খুবই গুরুত্বপূর্ণ কারণ তারা সাইটের ডিজাইন এবং কন্টেন্ট উপস্থাপনের পদ্ধতি নির্ধারণ করে। Layout handle এর মাধ্যমে পৃষ্ঠার কাঠামো এবং ব্লকগুলি কনফিগার করা যায়, এবং ব্লক কনফিগারেশনের মাধ্যমে ডেটা প্রদর্শন করা হয়। এটি একটি কাস্টমাইজেবল এবং নমনীয় সিস্টেম তৈরি করতে সহায়ক, যা Magento কে আরও শক্তিশালী এবং ব্যবহারকারীদের জন্য সহজ করে তোলে।
ম্যাজেন্টো ফ্রেমওয়ার্কে Layout XML একটি অত্যন্ত গুরুত্বপূর্ণ অংশ যা ব্যবহারকারীদের তাদের ই-কমার্স সাইটের লেআউট (layout) কাস্টমাইজ করার জন্য সহায়ক। Layout XML ফাইলগুলি সাইটের বিভিন্ন পেজের স্ট্রাকচার এবং উপাদানগুলি কাস্টমাইজ করতে ব্যবহৃত হয়। এটি বিশেষভাবে থিম এবং মডিউল ডেভেলপমেন্টে সহায়ক, কারণ এটি গ্রাহকের অভিজ্ঞতাকে আরও সুনির্দিষ্ট এবং কার্যকরী করতে সাহায্য করে। এখানে আমরা Magento তে Layout XML ব্যবহার করে কাস্টমাইজেশন প্রক্রিয়া আলোচনা করব।
Magento এর Layout XML ফাইলগুলি মূলত সাইটের HTML রেন্ডারিং প্রক্রিয়াকে নিয়ন্ত্রণ করে। এগুলি বিভিন্ন ব্লক এবং কন্টেন্ট উপাদানগুলোর অবস্থান এবং দৃশ্যমানতা কাস্টমাইজ করতে ব্যবহৃত হয়। XML ফাইলগুলির মাধ্যমে আপনি সাইটের থিম এবং মডিউলগুলোর লেআউট কনফিগারেশন করতে পারেন।
Magento এর Layout XML ফাইলগুলি সাধারণত app/design/frontend/[Vendor]/[Theme]/layout/ ডিরেক্টরিতে থাকে। এখানে আপনি সাইটের বিভিন্ন পেজের জন্য কাস্টম লেআউট ফাইল তৈরি করতে পারেন।
Layout XML ফাইলের একটি সাধারণ কাঠামো নিম্নরূপ:
<?xml version="1.0" encoding="UTF-8"?>
<layout version="0.1.0">
<block type="core/text_list" name="content" as="content">
<action method="append">
<block type="core/template" name="custom.block" template="path/to/your/template.phtml" />
</action>
</block>
</layout>
এখানে, <layout>
এলিমেন্টে সাইটের পেজের জন্য বিভিন্ন ব্লক এবং অ্যাকশন কনফিগার করা হয়। একটি block এলিমেন্ট সাইটের কন্টেন্ট প্রদর্শনের জন্য ব্যবহৃত হয় এবং action এলিমেন্টটি ব্লক বা অন্যান্য উপাদানকে পেজে যুক্ত করতে ব্যবহৃত হয়।
Magento তে Layout XML এর মাধ্যমে কাস্টমাইজেশন করার জন্য বিভিন্ন ধরনের কাজ করা যেতে পারে। এর মধ্যে কিছু জনপ্রিয় কাস্টমাইজেশন পদ্ধতি নিম্নরূপ:
Magento তে একটি নতুন ব্লক তৈরি করে সাইটের পেজে তা যুক্ত করা যেতে পারে। এর মাধ্যমে আপনি একটি নতুন কন্টেন্ট বা উপাদান সাইটে প্রদর্শন করতে পারেন।
<layout version="0.1.0">
<reference name="content">
<block type="core/template" name="my.custom.block" template="path/to/custom/template.phtml"/>
</reference>
</layout>
এখানে, <reference name="content">
এর মাধ্যমে সাইটের কন্টেন্ট সেকশনে একটি নতুন ব্লক যুক্ত করা হয়েছে।
Magento তে একটি বিদ্যমান ব্লক বা কন্টেন্টের পরিবর্তন করা যেতে পারে। এটি একটি ব্লক এর বৈশিষ্ট্য পরিবর্তন করতে সহায়ক।
<layout version="0.1.0">
<reference name="product.info.main">
<action method="unsetChild"><name>product.info.details</name></action>
</reference>
</layout>
এখানে, product.info.main
ব্লক থেকে product.info.details
ব্লকটি অপসারণ করা হয়েছে।
আপনি Layout XML এর মাধ্যমে একটি কাস্টম টেমপ্লেট ফাইল সংযুক্ত করতে পারেন। এটি থিমের ডিজাইন কাস্টমাইজ করার জন্য ব্যবহৃত হয়।
<layout version="0.1.0">
<reference name="content">
<block type="core/template" name="my.custom.block" template="Vendor_Theme::custom_template.phtml"/>
</reference>
</layout>
এখানে, Vendor_Theme::custom_template.phtml
একটি কাস্টম টেমপ্লেট হিসেবে যোগ করা হয়েছে, যা সাইটের কন্টেন্ট সেকশনে প্রদর্শিত হবে।
Magento তে ব্লকগুলিতে আর্গুমেন্ট এবং অ্যাকশন ব্যবহার করে তাদের আচরণ কাস্টমাইজ করা যেতে পারে।
<layout version="0.1.0">
<reference name="content">
<block type="core/template" name="my.custom.block" template="path/to/custom/template.phtml">
<action method="setData">
<argument name="title" value="Custom Title"/>
</action>
</block>
</reference>
</layout>
এখানে, ব্লকটির জন্য একটি নতুন আর্গুমেন্ট যোগ করা হয়েছে, যার মাধ্যমে টেমপ্লেটে কাস্টম ডেটা পাঠানো হয়েছে।
Magento তে হোমপেজে একটি কাস্টম ব্লক যোগ করতে Layout XML ব্যবহার করা যেতে পারে।
<layout version="0.1.0">
<reference name="content">
<block type="core/template" name="custom.homepage.block" template="Vendor_Theme::homepage_block.phtml"/>
</reference>
</layout>
এই কাস্টম ব্লকটি হোমপেজে content
সেকশনে প্রদর্শিত হবে এবং এর টেমপ্লেট ফাইলটি homepage_block.phtml
হিসেবে নির্ধারিত হবে।
Magento তে একটি কাস্টম পেজ তৈরি করে সেখানে একটি কাস্টম টেমপ্লেট অ্যাসাইন করা যেতে পারে।
<layout version="0.1.0">
<reference name="content">
<block type="core/template" name="custom.page.block" template="Vendor_Theme::custom_page.phtml"/>
</reference>
</layout>
এটি কাস্টম পেজের কন্টেন্ট সেকশনে custom_page.phtml
টেমপ্লেট ফাইল যোগ করবে।
Magento এর Layout XML ফাইলগুলি কাস্টমাইজেশন এবং ব্লক ব্যবস্থাপনার জন্য একটি শক্তিশালী টুল। এর মাধ্যমে আপনি সাইটের লেআউট, ব্লক, টেমপ্লেট এবং অ্যাকশন কাস্টমাইজ করতে পারেন, যা গ্রাহকদের জন্য একটি অত্যন্ত ব্যবহারকারী-বান্ধব অভিজ্ঞতা তৈরি করে। Layout XML এর মাধ্যমে সাইটের পারফরম্যান্স এবং ইউজার ইন্টারফেস উন্নত করা সম্ভব, যা Magento ভিত্তিক ই-কমার্স সাইটে আরও কার্যকরী এবং সুনির্দিষ্ট কাস্টমাইজেশন প্রক্রিয়া প্রদান করে।
ম্যাজেন্টো ফ্রেমওয়ার্ক (Magento Framework) এর XML Overrides একটি শক্তিশালী টুল যা থিম কাস্টমাইজেশনে ব্যবহৃত হয়। এটি ম্যাজেন্টো সাইটের লেআউট এবং কনফিগারেশন কাস্টমাইজেশন করার জন্য একটি কার্যকর উপায়। XML ফাইলগুলো ম্যাজেন্টো থিমের লেআউট ফাইলগুলি পরিচালনা করে এবং সাইটের স্ট্রাকচার এবং ডিজাইন কাস্টমাইজ করতে ব্যবহৃত হয়। XML Overrides ব্যবহার করে আপনি আপনার থিমে মৌলিক পরিবর্তন আনতে পারেন, যেমন লেআউট ব্লক, পজিশন, এবং কন্টেন্টের প্রদর্শন নিয়ন্ত্রণ করা।
Magento তে XML Overrides এমন একটি প্রক্রিয়া, যার মাধ্যমে আপনি মূল (parent) থিমের XML ফাইলগুলোর পরিবর্তন করতে পারেন অথবা তাদের ওপরে অতিরিক্ত কাস্টমাইজেশন যোগ করতে পারেন। এটি মূলত লেআউট কনফিগারেশন ফাইল (layout XML files) এর মাধ্যমে কাজ করে।
Magento এর লেআউট XML ফাইলগুলি পেজের এলিমেন্টের পজিশন এবং প্রদর্শন নিয়ন্ত্রণ করে। আপনি যদি একটি কাস্টম থিম তৈরি করেন, তবে আপনাকে মূল থিমের XML ফাইলগুলি ওভাররাইড (override) করে নিজের কাস্টম XML ফাইল তৈরি করতে হবে, যা পেজের লেআউট, ব্লক এবং কন্টেন্ট নিয়ন্ত্রণ করবে।
Magento তে XML Overrides করতে হলে আপনাকে মূল থিমের XML ফাইলগুলোর উপর ভিত্তি করে কাস্টম থিমের XML ফাইল তৈরি করতে হবে। এটি করতে, আপনি নিম্নলিখিত পদক্ষেপগুলো অনুসরণ করতে পারেন:
Magento এর থিম কনফিগারেশন ফাইল সাধারণত layout ফোল্ডারে থাকে। একটি কাস্টম থিম তৈরি করার জন্য, আপনাকে app/design/frontend/[Vendor]/[theme]/layout/ ফোল্ডারে আপনার কাস্টম XML ফাইল রাখতে হবে।
ধরা যাক, আপনি একটি কাস্টম ব্লক তৈরি করতে চান এবং সেটি একটি নির্দিষ্ট পেজে প্রদর্শন করতে চান। আপনি একটি কাস্টম XML ফাইল তৈরি করবেন, যেমন catalog_product_view.xml
, যা পণ্য পেজে আপনার কাস্টম ব্লক যোগ করবে।
<?xml version="1.0"?>
<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/layout_single.xsd">
<referenceContainer name="content">
<block class="Magento\Framework\View\Element\Template" name="custom_block" template="[Vendor]_[Theme]::custom/block.phtml"/>
</referenceContainer>
</layout>
এখানে referenceContainer
ট্যাগটি দ্বারা আপনি মূল থিমের "content" কন্টেইনারে একটি কাস্টম ব্লক যোগ করেছেন। block
ট্যাগটি ব্যবহার করে আপনি ব্লকের কনফিগারেশন ও টেমপ্লেট ফাইল নির্দেশ করছেন।
Magento তে XML ফাইলের মাধ্যমে আপনি বিভিন্ন ধরনের কাস্টম ব্লকও তৈরি করতে পারেন। কাস্টম ব্লকগুলি সাধারণত পেজে নির্দিষ্ট কন্টেন্ট প্রদর্শন করতে ব্যবহৃত হয়। এর মাধ্যমে আপনি পণ্য বা কাস্টম ডেটা প্রদর্শন করতে পারেন।
<?xml version="1.0"?>
<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/layout.xsd">
<referenceContainer name="content">
<block class="Magento\Framework\View\Element\Template" name="new_block" template="Magento_Theme::new_block.phtml">
<arguments>
<argument name="custom_data" xsi:type="string">Hello, Magento!</argument>
</arguments>
</block>
</referenceContainer>
</layout>
এখানে block
এর মাধ্যমে একটি নতুন কাস্টম ব্লক তৈরি করা হয়েছে যা new_block.phtml
টেমপ্লেট ফাইলকে রেন্ডার করবে এবং একটি কাস্টম ডেটা পাঠাবে।
Magento তে আপনি মূল থিমের লেআউট ফাইলগুলোও ওভাররাইড করতে পারেন। এটি খুবই উপকারী যখন আপনি একটি থিমের কাস্টম অংশ পরিবর্তন করতে চান এবং সেই অংশটি আপনি থিমের মধ্যে চিরকাল পরিবর্তন রাখতে চান। থিম কাস্টমাইজেশন জন্য এভাবে XML Overrides খুব গুরুত্বপূর্ণ।
ধরা যাক, আপনি header
ব্লকটি সম্পূর্ণ কাস্টমাইজ করতে চান। এর জন্য, আপনি নিম্নলিখিত XML কোড ব্যবহার করতে পারেন:
<?xml version="1.0"?>
<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/layout.xsd">
<referenceBlock name="header">
<action method="setTemplate">
<argument name="template" xsi:type="string">[Vendor]_[Theme]::custom_header.phtml</argument>
</action>
</referenceBlock>
</layout>
এখানে, referenceBlock
দ্বারা header
ব্লকটি রেফারেন্স করা হয়েছে এবং setTemplate
একশন ব্যবহার করে আপনি কাস্টম টেমপ্লেট ফাইল (custom_header.phtml
) নির্দিষ্ট করেছেন।
Magento তে লেআউট XML ফাইল ব্যবহার করা খুবই সহজ এবং কার্যকরী। এর মাধ্যমে আপনি:
আপনি যখন XML ফাইলের মাধ্যমে একটি নতুন ব্লক তৈরি করেন, তখন আপনাকে সেই ব্লকটি রেন্ডার করার জন্য একটি কাস্টম টেমপ্লেট ফাইলও তৈরি করতে হবে। এই টেমপ্লেট ফাইলগুলি app/design/frontend/[Vendor]/[theme]/templates/ ফোল্ডারে রাখতে হবে।
<?php
/** @var \Magento\Framework\View\Element\Template $block */
$customData = $block->getData('custom_data');
?>
<div>
<h2><?= $customData ?></h2>
</div>
এই ফাইলটি সেই কাস্টম ব্লকটির প্রদর্শন প্রক্রিয়া নিয়ন্ত্রণ করবে।
Magento তে XML Overrides একটি অত্যন্ত শক্তিশালী উপায়, যা আপনি আপনার থিমে কাস্টম লেআউট, ব্লক এবং কনটেন্ট যুক্ত করতে ব্যবহার করতে পারেন। এটি থিম কাস্টমাইজেশন, ব্লক অবস্থান নিয়ন্ত্রণ এবং কাস্টম টেমপ্লেট ফাইল ব্যবহারের জন্য অত্যন্ত উপকারী। XML Overrides ব্যবহারের মাধ্যমে আপনি আপনার সাইটের ডিজাইন এবং ফিচারকে আরও শক্তিশালী এবং কাস্টমাইজড করতে পারবেন।
Read more