Custom Extension তৈরি করা

Magento Extensions Development - ম্যাজেন্টো ফ্রেমওয়ার্ক (Magento Framework) - Web Development

263

ম্যাজেন্টো ফ্রেমওয়ার্কে (Magento Framework) Custom Extension তৈরি করা একটি গুরুত্বপূর্ণ প্রক্রিয়া যা আপনার সাইটের কার্যকারিতা এবং ফিচার সম্প্রসারণ করতে সাহায্য করে। আপনি কাস্টম এক্সটেনশন তৈরি করে ম্যাজেন্টো সিস্টেমে নতুন ফিচার যোগ করতে পারেন, যেমন নতুন পেমেন্ট গেটওয়ে, শিপিং মেথড, প্রোডাক্ট ম্যানেজমেন্ট ফিচার বা গ্রাহক সম্পর্কিত কাজ।

এখানে আমরা ম্যাজেন্টোতে Custom Extension তৈরি করার প্রক্রিয়া বিস্তারিতভাবে আলোচনা করব।


১. ম্যাজেন্টো মডিউল স্ট্রাকচার এবং কাস্টম এক্সটেনশন তৈরি

Magento তে একটি Custom Extension তৈরি করার প্রথম পদক্ষেপ হল একটি নতুন মডিউল তৈরি করা। ম্যাজেন্টো মডিউল একটি ছোটো অংশ যা সিস্টেমের বিভিন্ন ফিচারের জন্য কার্যকারিতা যোগ করে।

১.১. মডিউল তৈরি করা

  1. app/code ডিরেক্টরিতে একটি নতুন ফোল্ডার তৈরি করুন যেখানে আপনার কাস্টম এক্সটেনশন থাকবে। উদাহরণস্বরূপ, আপনার এক্সটেনশনের জন্য একটি ফোল্ডার তৈরি করুন:

    app/code/Custom/Example
    
  2. এর পরে, মডিউল রেজিস্ট্রেশন এবং কনফিগারেশন ফাইল তৈরি করতে হবে।

১.২. registration.php ফাইল তৈরি

এই ফাইলটি ম্যাজেন্টোকে জানাবে যে এটি একটি নতুন মডিউল।

app/code/Custom/Example/registration.php:

<?php
\Magento\Framework\Component\ComponentRegistrar::register(
    \Magento\Framework\Component\ComponentRegistrar::MODULE,
    'Custom_Example',
    __DIR__
);

১.৩. module.xml ফাইল তৈরি

এই ফাইলটি মডিউলটির তথ্য এবং সেটআপ সংস্করণ সংজ্ঞায়িত করে।

app/code/Custom/Example/etc/module.xml:

<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Module/etc/module.xsd">
    <module name="Custom_Example" setup_version="1.0.0"/>
</config>

এটি ম্যাজেন্টোকে মডিউলটির নাম এবং সেটআপ সংস্করণ সম্পর্কে জানাবে।


২. কাস্টম ফিচার তৈরি

এখন, আপনি আপনার কাস্টম এক্সটেনশন বা মডিউলের ফিচার তৈরি করতে পারবেন। উদাহরণস্বরূপ, আমরা একটি কাস্টম পেজ তৈরি করব।

২.১. Controller তৈরি করা

ম্যাজেন্টোতে কাস্টম পেজ বা অ্যাকশন তৈরি করতে, আপনাকে একটি কন্ট্রোলার ক্লাস তৈরি করতে হবে।

app/code/Custom/Example/Controller/Index/Index.php:

<?php
namespace Custom\Example\Controller\Index;

class Index extends \Magento\Framework\App\Action\Action
{
    protected $resultPageFactory;

    public function __construct(
        \Magento\Framework\App\Action\Context $context,
        \Magento\Framework\View\Result\PageFactory $resultPageFactory
    ) {
        $this->resultPageFactory = $resultPageFactory;
        parent::__construct($context);
    }

    public function execute()
    {
        return $this->resultPageFactory->create();
    }
}

এটি একটি কন্ট্রোলার ক্লাস যা একটি কাস্টম পেজ রেন্ডার করবে।

২.২. রাউটিং কনফিগারেশন

Magento তে কাস্টম পেজ তৈরি করার জন্য রাউটিং কনফিগার করতে হবে। এটি app/code/Custom/Example/etc/frontend/routes.xml ফাইলে করা হয়।

app/code/Custom/Example/etc/frontend/routes.xml:

<?xml version="1.0"?>
<router id="standard">
    <route id="example" frontName="example">
        <module name="Custom_Example"/>
    </route>
</router>

এটি ম্যাজেন্টোকে জানাবে যে "/example" URL রাউটের জন্য কাস্টম মডিউল Custom_Example ব্যবহার হবে।

২.৩. ব্লক এবং টেমপ্লেট তৈরি করা

আপনি যদি আপনার পেজে ডাইনামিক কনটেন্ট যোগ করতে চান, তবে ব্লক এবং টেমপ্লেট তৈরি করতে হবে।

app/code/Custom/Example/Block/Example.php:

<?php
namespace Custom\Example\Block;

class Example extends \Magento\Framework\View\Element\Template
{
    public function getCustomText()
    {
        return "This is a custom text from the block!";
    }
}

এটি একটি ব্লক ক্লাস যা একটি কাস্টম টেক্সট রিটার্ন করবে।

এখন, একটি টেমপ্লেট তৈরি করুন যা এই ব্লকটি ব্যবহার করবে:

app/code/Custom/Example/view/frontend/templates/example.phtml:

<h1><?php echo $block->getCustomText(); ?></h1>

২.৪. লেআউট কনফিগারেশন

আপনি কাস্টম টেমপ্লেটটি একটি পেজে লোড করার জন্য লেআউট ফাইল কনফিগার করতে হবে।

app/code/Custom/Example/view/frontend/layout/example_index_index.xml:

<?xml version="1.0"?>
<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Element/UiComponent/etc/ui_configuration.xsd">
    <referenceContainer name="content">
        <block class="Custom\Example\Block\Example" name="example.block" template="Custom_Example::example.phtml"/>
    </referenceContainer>
</layout>

এটি আপনার কাস্টম ব্লকটিকে পেজে লোড করবে।


৩. মডিউল সক্রিয় করা এবং টেস্ট করা

  1. মডিউল সক্রিয় করুন:

    php bin/magento module:enable Custom_Example
    php bin/magento setup:upgrade
    php bin/magento cache:flush
    
  2. পেজ পরীক্ষা করুন: এখন আপনার সাইটে গিয়ে http://your-magento-site/example/index/index URL এ গিয়ে আপনার কাস্টম পেজটি দেখুন।

৪. কাস্টম এক্সটেনশনের অন্যান্য ফিচার

  • Admin Panel Configuration: আপনি আপনার কাস্টম এক্সটেনশনকে অ্যাডমিন প্যানেলে কনফিগারেশন সেটিংস যোগ করতে পারেন।
  • Event Observers: Magento এর ইভেন্ট সিস্টেম ব্যবহার করে আপনি সিস্টেমের বিভিন্ন ইভেন্টে কাস্টম কোড চালাতে পারেন।
  • Database Schema: আপনার এক্সটেনশনের জন্য ডাটাবেস টেবিল এবং স্কিমা তৈরি করতে setup:install স্ক্রিপ্ট ব্যবহার করতে পারেন।

সারাংশ

Magento তে Custom Extension তৈরি করা আপনাকে আপনার সাইটে নতুন ফিচার এবং কার্যকারিতা যোগ করার সুযোগ দেয়। কাস্টম এক্সটেনশন তৈরি করার জন্য প্রথমে একটি মডিউল তৈরি করতে হয় এবং এরপর কন্ট্রোলার, ব্লক, টেমপ্লেট, এবং রাউটিং কনফিগারেশন সহ অন্যান্য উপাদান তৈরি করতে হয়। এক্সটেনশনটি সফলভাবে সক্রিয় করার পর, আপনি সাইটের প্রয়োজন অনুযায়ী বিভিন্ন কাস্টম ফিচার অ্যাড করতে পারেন।

Content added By
Promotion

Are you sure to start over?

Loading...