ম্যাজেন্টো 2 এ চাইল্ড থিম কীভাবে তৈরি করবেন


18

আমি বাক্সের বাইরে থাকা লুমা থিমের কয়েকটি দিকটি সংশোধন করতে চাই তবে মূল ফাইল (গুলি) সংরক্ষণ করে এবং এটিও নিশ্চিত করতে চাই যে আমি যখনই ম্যাজেন্টো আপডেট করি তখনও আমি আমার পরিবর্তনগুলি সংরক্ষণ করি।

আমি চাইল্ড থিমের মাধ্যমে এটি করতে চাই।

ম্যাজেন্টো 2 কী চাইল্ড থিম সমর্থন করে এবং যদি তাই হয় তবে কীভাবে আমি আমার ডিরেক্টরি পথটি এটি তৈরির জন্য গঠন করব?


1
আপনি এই প্রশ্নটি করার জন্য আমি কৃতজ্ঞ। আমিও একই জিনিস ভাবছিলাম!
ক্যামডিকসন

উত্তর:


26

আমাদের চাইল্ড থিম তৈরি করতে দেয় যাতে ম্যাগন্টো 2 এ আমাদের সমস্ত কাস্টম থিম এখানে যায়:

অ্যাপ্লিকেশন / ডিজাইন / ফ্রন্টএন্ড / COMPANY_NAME / THEME_NAME

আমাদের ধরে নেওয়া যাক, আমাদের সংস্থার নাম মাইকম্পানি এবং আমাদের থিমের নামটি মৌলিক। আমাদের থিমের জন্য আমাদের নিম্নলিখিত ডিরেক্টরি কাঠামো তৈরি করতে হবে:

app
└────design
     └──────frontend
            └──mycompany
               └───basic
                   └──etc
                   └──Magento_Theme
                          └─layout
                                default.xml
                   └──media
                          preview.png
                   └──web
                     └─css
                     └─fonts
                     └─images
                     └─js
                    theme.xml
                    registration.php

আমার কোম্পানি :-

থিম প্যাকেজের নাম

বেসিক: - থিমের নাম। আমাদের মাইকম্পানি ফোল্ডারে একাধিক নামযুক্ত থিম থাকতে পারে।

ইত্যাদি / ভিউ.এক্সএমএল: -

এই ফাইলটি পণ্যের চিত্রের মাত্রা, থাম্বনেইলস ইত্যাদি নির্দিষ্ট করতে ব্যবহৃত হয়

Magento_Theme: - এই ডিরেক্টরিটি বিদ্যমান ম্যাজেন্টোর থিম ফাইলগুলিকে ওভাররাইড করতে ব্যবহৃত হয়।

Magento_Theme / লেআউট / default.xml: - ডিফল্টরূপে Magento2 ধরে ধরে নেওয়া হয় যে আপনার থিমের লোগো ফাইলটি হওয়া উচিত: /web/media/logo.svg আপনি লোগোর জন্য অন্য কোনও ফাইল চান, তবে আপনাকে অবশ্যই default.xmlফাইলটিতে এটি ঘোষণা করতে হবে ।

এই ফাইলটি ডিফল্ট থিমের সেটিংসকে ওভাররাইড করতে ব্যবহৃত হয়।

মিডিয়া / প্রাকদর্শন.পিএনজি: - বর্তমান থিমের পূর্বরূপ।

ওয়েব: - এই ডিরেক্টরিতে থিমের সমস্ত স্ট্যাটিক ডেটা যেমন ইমেজ, শৈলী, জাভাস্ক্রিপ্ট, ফন্ট ইত্যাদি রয়েছে contains

রেজিস্ট্রেশন.এফপি: - এই ফাইলটি আমাদের থিমটি Magento2 সিস্টেমে নিবন্ধিত করার প্রয়োজন।

থিম.এক্সএমএল: - এটি একটি বাধ্যতামূলক ফাইল যা আমাদের থিমের নাম, এর পিতামাতা এবং optionচ্ছিকভাবে থিমের পূর্বরূপ চিত্রটি সংজ্ঞায়িত করে।

থিম ফাইল তৈরি করা হচ্ছে

আসুন এখন আমাদের ফাইলগুলি একে একে তৈরি করুন।

থিম.এক্সএমএল (অ্যাপ / ডিজাইন / ফ্রন্টএন্ড / মাইকম্পানি / বেসিক / থিম.এক্সএমএল)

<theme xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Config/etc/theme.xsd">
   <title>Basic</title> <!-- your theme's name -->
   <parent>Magento/blank</parent> <!-- the parent theme -->
   <media>
        <preview_image>media/preview.jpg</preview_image> <!-- theme's preview image -->
   </media>
</theme>

রেজিস্ট্রেশন.এফপি (অ্যাপ / ডিজাইন / ফ্রন্টএন্ড / মাইকম্পানি / বেসিক / রেজিস্ট্রেশন.এফপি)

<?php
\Magento\Framework\Component\ComponentRegistrar::register(
    \Magento\Framework\Component\ComponentRegistrar::THEME,
    'frontend/mycompany/basic',
    __DIR__
);

ডিফল্ট.এক্সএমএল (অ্যাপ্লিকেশন / ডিজাইন / ফ্রন্টএন্ড / মাইকম্পানি / বেসিক / ম্যাজেন্টো_ফর্ম / লেআউট / ডিফল্ট.এক্সএমএল)

<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
    <body>
        <referenceBlock name="logo">
           <arguments>
              <argument name="logo_file" xsi:type="string">images/my_logo.png</argument>
              <argument name="logo_img_width" xsi:type="number">200</argument>
              <argument name="logo_img_height" xsi:type="number">200</argument>
           </arguments>
        </referenceBlock>
    </body>
</page>

এই মুহুর্তে, আমাদের থিম প্রস্তুত। আপনার ক্যাশে সাফ করুন এবং আমরা এখন অ্যাডমিন থেকে আমাদের নতুন থিম নির্বাচন করব।

এখন, অ্যাডমিনে লগইন করুন এবং নিম্নলিখিত পথে যান:

Content -> Design -> Themes

আপনার তালিকাভুক্ত থিমটি দেখতে হবে।

এখন যান:

Stores -> Configuration -> Design

উপরে বাম দিকে স্টোর ভিউয়ের সামনে প্রধান ওয়েবসাইটটি চয়ন করুন। এখন ক্লিক করুন

Desgin -> Design Theme

ডিফল্ট চেকবক্সটি আনচেক করুন এবং আপনার থিমটি চয়ন করুন। সংরক্ষণ করুন কনফিগার ক্লিক করুন, আপনার ক্যাশে সাফ করুন এবং আপনার নতুন থিম প্রস্তুত। আপনার হোম পৃষ্ঠা পরীক্ষা করুন।

আরও বিশদ জন্য এখানে দেখুন।


অরুনেন্দ্রের বিস্তৃত ধাপে ধাপে গাইডের জন্য আপনাকে ধন্যবাদ। আমি খুব শীঘ্রই চেষ্টা করে আবার পোস্ট করব।
এইচ। ফেরেন্স

এটি অরুণেন্দ্রর দুর্দান্ত। নিখুঁতভাবে কাজ করেছেন। কোনও পদক্ষেপ না এড়িয়ে কেবল এটি সম্পূর্ণরূপে অনুসরণ করা দরকার।
এইচ। ফেরেেন্স

1
অরুনেন্দ্রকে দুর্দান্ত ধাপে ধাপে। আমাকে শুধু হিসাবে একই সমস্যায় ক্ষেত্রে কেউ রানে, অবস্থান যেখানে আপনি আপনার নিবন্ধিত থিমটি প্রয়োগ থেকে পরিবর্তিত হয়েছে Design -> Design Themeথেকে Content/Design/Configuration
কেডমাস্টার্ক

গুরুত্বপূর্ণ দ্রষ্টব্য: ফাইল media/preview.pngঅবশ্যই উপস্থিত থাকতে হবে অন্যথায় ম্যাজেন্টো একটি ব্যতিক্রম ছুঁড়ে দেবে।
সালমান ভন আব্বাস

5

ডিরেক্টরি তৈরি করুন:

রুট ডিরেক্টরিতে রুট করুন এবং অ্যাপ্লিকেশন / নকশা / সম্মুখভাগে নেভিগেট করুন , ডিরেক্টরি ডেমো তৈরি করুন ।

এখন অ্যাপ / ডিজাইন / ফ্রন্টএন্ড / ডেমোতে মাইথেম ডিরেক্টরি তৈরি করুন।

অ্যাপ / ডিজাইন / ফ্রন্টএন্ড / ডেমো / মাইথেমে ম্যানগ্যান্তো_হেম ডিরেক্টরি তৈরি করুন

অ্যাপ্লিকেশন / ডিজাইন / ফ্রন্টএন্ড / ডেমো / মাইথেম / ম্যাজেন্টো_থমে লেআউট ডিরেক্টরি তৈরি করুন

অ্যাপ / ডিজাইন / ফ্রন্টএন্ড / ডেমো / মাইথেমে মিডিয়া ডিরেক্টরি তৈরি করুন

অ্যাপ / ডিজাইন / ফ্রন্টএন্ড / ডেমো / মাইথেমে ওয়েব ডিরেক্টরি তৈরি করুন

অ্যাপ্লিকেশন / ডিজাইন / সম্মুখভাগ / ডেমো / মাইথেম / ওয়েবে চিত্র ডিরেক্টরি তৈরি করুন

থিমের ঘোষণা

অ্যাপ্লিকেশন / ডিজাইন / ফ্রন্টএন্ড / ডেমো / মাইথেমে থিম.এক্সএমএল ফাইল তৈরি করুন এবং এতে নীচের কোডটি আটকে দিন:

<theme xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Config/etc/theme.xsd">
<title>Mytheme</title>
<parent>Magento/blank</parent>
<media>
<preview_image>media/preview.jpg</preview_image>
</media>
</theme>

থিমের নিবন্ধকরণ

এখন অ্যাপ / ডিজাইন / ফ্রন্টএন্ড / ডেমো / মাইথেমে রেজিস্ট্রেশন.এফপি ফাইল তৈরি করুন এবং এতে নীচের কোডটি আটকে দিন:

<?php
\Magento\Framework\Component\ComponentRegistrar::register(
\Magento\Framework\Component\ComponentRegistrar::THEME, 'frontend/Demo/Mytheme', __DIR__
);

থিম প্রাকদর্শন চিত্র আপলোড করুন

অ্যাপ / ডিজাইন / ফ্রন্টএন্ড / ডেমো / মাইথেম / মিডিয়াতে যান এবং এখানে আপনার পূর্বরূপ চিত্র (প্রাকদর্শন.জেপিজি) আপলোড করুন।

থিম লোগো ঘোষণা

অ্যাপ্লিকেশন / ডিজাইন / ফ্রন্টএন্ড / ডেমো / মাইথিম / ম্যাজেন্টো_ফর্ম / বিন্যাসে যান এবং একটি ডিফল্ট.এক্সএমএল ফাইল তৈরি করুন। এটিতে নিম্নলিখিত কোডটি আটকে দিন:

<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
<body>
<referenceBlock name="logo">
<arguments>
<argument name="logo_file" xsi:type="string">images/mytheme-logo.png</argument>
<argument name="logo_img_width" xsi:type="number">200</argument>
<argument name="logo_img_height" xsi:type="number">200</argument>
</arguments>
</referenceBlock>
</body>
</page>

থিম লোগো আপলোড করুন

অ্যাপ / ডিজাইন / ফ্রন্টএন্ড / ডেমো / মাইথেম / ওয়েব / চিত্রগুলিতে যান এবং আপনার লোগোটি (mytheme-logo.png) এখানে আপলোড করুন।

আপনার থিম প্রয়োগ করুন

  • আপনার ম্যাজেন্টো 2 এর প্রশাসনিক প্যানেলটি খুলুন এবং সামগ্রী → কনফিগারেশনে যান।

  • সম্পাদনা বিকল্পে ক্লিক করুন।

  • ফলিত থিম ড্রপ ডাউন মেনু থেকে Mytheme নির্বাচন করুন এবং
    সংরক্ষণ কনফিগারেশন ক্লিক করুন ।

কমান্ডগুলি রান করুন

এসএসএইচ টার্মিনালটি খুলুন এবং আপনার ম্যাজেন্টো ২ এর মূল ডিরেক্টরিতে যান 2 এখন এই সমস্ত কমান্ডগুলি একে একে চালনা করুন:

rm -rf var/di/* var/generation/* var/cache/* var/log/* var/page_cache/* var/session/* var/view_preprocessed/* pub/static/*
php bin/magento setup:upgrade
php bin/magento setup:db-schema:upgrade
php bin/magento setup:di:compile
php bin/magento setup:static-content:deploy
php bin/magento indexer:reindex
php bin/magento cache:clean
php bin/magento cache:flush
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.