ম্যাজেন্টো ফ্রেমওয়ার্কে Layouts এবং Templates হল সাইটের ফ্রন্টএন্ড কনফিগারেশন এবং কাস্টমাইজেশন ব্যবস্থার জন্য অত্যন্ত গুরুত্বপূর্ণ উপাদান। এগুলি সাইটের ভিজ্যুয়াল উপস্থাপন এবং ইউজার এক্সপেরিয়েন্স (UX) নিয়ন্ত্রণ করতে সহায়তা করে। ম্যাজেন্টোতে, Layouts সাইটের কাঠামো তৈরি করে এবং Templates কন্টেন্টের প্রদর্শন এবং স্টাইলিং নিয়ন্ত্রণ করে।
Layouts: ম্যাজেন্টো লেআউট সিস্টেম
Layouts হল ম্যাজেন্টো সাইটের পেজের কাঠামো এবং অবজেক্টের অবস্থান নির্ধারণ করে। এটি মূলত পেজের বিভিন্ন সেকশনের অর্গানাইজেশন এবং কন্টেন্ট রেন্ডারিংয়ের জন্য দায়িত্বশীল। ম্যাজেন্টো লেআউট সিস্টেম XML ফাইল ব্যবহার করে কাজ করে, যেখানে পেজের কাঠামো, ব্লক এবং কন্টেন্ট এলিমেন্ট নির্ধারণ করা হয়।
১. Layout XML ফাইল
Magento লেআউট সিস্টেমের মূল অংশ হল layout XML ফাইল। এই ফাইলগুলো পেজের কাঠামো এবং ব্লককে নির্দেশ দেয়। এই ব্লকগুলো হলো সাইটের বিভিন্ন এলিমেন্ট, যেমন: মেনু, সাইডবার, কন্টেন্ট, ফুটার ইত্যাদি।
- app/design/frontend/[Vendor]/[theme]/layout/ ডিরেক্টরির মধ্যে সাধারণত লেআউট ফাইলগুলো থাকে।
- উদাহরণস্বরূপ,
catalog_category_view.xml,catalog_product_view.xmlফাইলগুলি পণ্য ক্যাটালগ এবং পণ্য পেজের লেআউট কনফিগারেশনের জন্য ব্যবহৃত হয়।
Layout ফাইলের সঠিক গঠন:
<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
<body>
<referenceContainer name="content">
<block class="Magento\Catalog\Block\Product\View" name="product.info" template="Magento_Catalog::product/view.phtml"/>
</referenceContainer>
</body>
</page>
এখানে, referenceContainer ট্যাগটি সাইটের কাঠামোর একটি অংশ (যেমন কন্টেন্ট) নির্দেশ করে এবং block ট্যাগটি একটি নির্দিষ্ট ব্লক বা এলিমেন্ট, যেমন পণ্য ডিটেইলস রেন্ডার করতে ব্যবহার করা হয়।
২. Layout Update XML
Magento বিভিন্ন পেজের জন্য লেআউট আপডেট XML ফাইল প্রদান করে, যার মাধ্যমে সাইটের কাঠামো পরিবর্তন করা যায়। এই ফাইলগুলির মাধ্যমে আপনি কোন ব্লক কোথায় এবং কিভাবে প্রদর্শিত হবে তা কাস্টমাইজ করতে পারেন।
- উদাহরণস্বরূপ,
catalog_product_view.xmlফাইলটি পণ্যের পেজের জন্য কনফিগারেশন ধারণ করে, যেখানে আপনি পণ্য বিশদ, ইমেজ গ্যালারি এবং অন্যান্য তথ্য সাজাতে পারবেন।
Templates: ম্যাজেন্টো টেমপ্লেট সিস্টেম
Templates হল সেই ফাইল যা ব্লকের কন্টেন্ট প্রদর্শনের জন্য স্টাইল এবং HTML গঠন সরবরাহ করে। এটি ম্যাজেন্টো সাইটের ফ্রন্টএন্ড ডিজাইন এবং লেআউটের স্টাইলিং নিয়ন্ত্রণ করে। টেমপ্লেট ফাইলগুলি PHP এবং HTML মিশ্রণ হয়ে থাকে এবং এগুলি PHTML ফাইল এক্সটেনশনে পাওয়া যায়।
১. Template ফাইল
Magento এর টেমপ্লেট ফাইলগুলি বিভিন্ন ব্লক এবং কন্টেন্ট এলিমেন্টের জন্য ডিজাইন করা হয়। এই টেমপ্লেট ফাইলগুলি নির্দিষ্ট ব্লককে কাস্টমাইজ করার জন্য ব্যবহার করা যায়।
- উদাহরণস্বরূপ,
catalog/product/view.phtmlফাইলটি পণ্য প্রদর্শনের জন্য ব্যবহৃত টেমপ্লেট। - app/design/frontend/[Vendor]/[theme]/templates ডিরেক্টরিতে সাধারণত টেমপ্লেট ফাইলগুলো রাখা হয়।
Template ফাইলের উদাহরণ:
<div class="product-info">
<h1><?php echo $block->getProduct()->getName(); ?></h1>
<p><?php echo $block->getProduct()->getDescription(); ?></p>
<p><?php echo $block->getProduct()->getPrice(); ?></p>
</div>
এখানে, getProduct() ম্যাজেন্টো ব্লক থেকে পণ্য সম্পর্কিত তথ্য নিয়ে আসে এবং তারপর getName(), getDescription(), getPrice() ফাংশনগুলির মাধ্যমে পণ্য নাম, বিবরণ এবং মূল্য প্রদর্শিত হয়।
২. Template Override
Magento থিমের মাধ্যমে আপনি কোনো ব্লকের টেমপ্লেট ফাইলের ডিফল্ট কাঠামো কাস্টমাইজ করতে পারেন। সাধারণত, ডিফল্ট টেমপ্লেট ফাইল vendor/magento/module-catalog/view/frontend/templates ডিরেক্টরিতে থাকে, এবং আপনি এটিকে আপনার কাস্টম থিমে ওভাররাইড করতে পারেন।
- উদাহরণস্বরূপ,
catalog/product/view.phtmlফাইলটি কাস্টম থিমেapp/design/frontend/[Vendor]/[theme]/templates/catalog/product/view.phtmlফাইলে কপি করে কাস্টমাইজ করা যায়।
Layout এবং Template এর মধ্যে পার্থক্য
- Layout:
- পেজের কাঠামো নির্ধারণ করে।
- ব্লক এবং কন্টেন্ট এলিমেন্টদের অবস্থান নির্ধারণ করে।
- XML ফাইলগুলো ব্যবহার করে লেআউট কনফিগার করা হয়।
- Template:
- পেজের কন্টেন্ট এবং এর স্টাইলিং পরিচালনা করে।
- পেজের কন্টেন্ট কীভাবে প্রদর্শিত হবে তা নির্ধারণ করে।
- PHTML ফাইলগুলো ব্যবহার করে টেমপ্লেট কাস্টমাইজ করা হয়।
ম্যাজেন্টো থিমে Layout এবং Template কাস্টমাইজেশন
Magento থিম কাস্টমাইজেশন করার জন্য Layout এবং Template দুটি গুরুত্বপূর্ণ উপাদান। আপনি layout XML ফাইলগুলির মাধ্যমে পেজের কাঠামো কাস্টমাইজ করতে পারেন এবং template ফাইলের মাধ্যমে কন্টেন্ট এবং স্টাইলিং পরিবর্তন করতে পারেন। সঠিকভাবে এই দুটি উপাদান ব্যবহার করে, আপনি Magento সাইটের ফ্রন্টএন্ডের ডিজাইন এবং ফাংশনালিটি সম্পূর্ণভাবে কাস্টমাইজ করতে পারবেন।
সারাংশ
ম্যাজেন্টো ফ্রেমওয়ার্কের Layouts এবং Templates সাইটের কাঠামো এবং ডিজাইন কাস্টমাইজ করার জন্য অত্যন্ত গুরুত্বপূর্ণ। Layouts XML ফাইলগুলির মাধ্যমে সাইটের কাঠামো এবং ব্লকগুলোর অবস্থান নিয়ন্ত্রণ করে, যেখানে Templates PHTML ফাইলগুলির মাধ্যমে কন্টেন্টের প্রদর্শন এবং স্টাইলিং নিয়ন্ত্রণ করে। এদের মাধ্যমে আপনি সাইটের UI/UX আরও কার্যকর এবং কাস্টমাইজড করতে পারেন।
Read more