_মডিউল.বিহীন এবং _ষেধ.বিহীন মধ্যে পার্থক্য


22

ব্যবহার করে কোনও থিম বাড়ানো _module.lessএবং এর মধ্যে কোনও পার্থক্য আছে কি _extend.less? এবং মডিউল / থিম প্রসারিত করার সময় সবচেয়ে ভাল অনুশীলন কী?

আমার প্রথম চিন্তাটি ছিল _module.lessএকটি নতুন মডিউল স্টাইল করার সময় এবং _extend.lessমডিউল প্রসারিত করার সময় ব্যবহার করা ভাল । _module.lessফাঁকা থিমটি প্রসারিত করার সময় লুমা ব্যবহার করে যাতে থিওরিটি উইন্ডো থেকে বেরিয়ে যায়।

আমি তাদের মধ্যে যে পার্থক্যটি দেখতে পাচ্ছি _module.lessতা প্রতিক্রিয়াশীল লাইব্রেরির আগে আমদানি করা হয় এবং _theme.lessযেখানে _extend.lessতাদের পরে আমদানি করা হয়।

এগুলি তারা আমদানিকৃত ক্রম vendor/magento/theme-frontend-blank/web/css/styles-l.less

//
//  Blank theme desktop styles
//  _____________________________________________

//  These desktop styles are added to mobile

//
//  Global lib + theme styles
//  ---------------------------------------------

@import '_styles.less';
@import (reference) 'source/_extends.less';

//
//  Magento Import instructions
//  ---------------------------------------------

//@magento_import 'source/_module.less'; // Theme modules
//@magento_import 'source/_widgets.less'; // Theme widgets

//
//  Media queries collector
//  ---------------------------------------------

@import 'source/lib/_responsive.less';

@media-target: 'desktop'; // Sets target device for this file
@media-common: false; // Sets not to output common styles

//
//  Global variables override
//  ---------------------------------------------

@import 'source/_theme.less';

//
//  Extend for minor customisation
//  ---------------------------------------------

//@magento_import 'source/_extend.less';

উত্তর:


20

উত্তরটি কিছুটা ম্যাজেন্টো ডক্সে লুকিয়ে রয়েছে:

আপনি যখন পিতামাতার থিমের সমস্ত কিছুর সাথে খুশি হন তবে _extend.less ব্যবহার করে একটি থিম প্রসারিত করা সহজ বিকল্প, তবে আরও শৈলী যুক্ত করতে চান।

এখানে আরও পড়ুন

ব্যবহারের _module.less আপনি একটি মডিউল এবং ব্যবহারের জন্য শৈলী প্রধান পরিবর্তনগুলি করার বিষয়ে যখন _extend.less ছোটখাট সমন্বয় জন্য। উপরের লিঙ্কে কীভাবে উপাদান শৈলীর ওভাররাইড করা যায় সে সম্পর্কে আপনি আরও উদাহরণ পাবেন।


1
আমি এটি পড়েছি তবে এটি কেন সত্য তা ব্যাখ্যা করে না, মনে হচ্ছে এর পিছনে কোনও যুক্তি নেই। আমি কোনও পার্থক্য আছে কিনা তা জানার চেষ্টা করছি। আমি আমার সমস্ত পরিবর্তনের জন্য _extend.less ব্যবহার করছি কারণ আমি কিছু ব্যবহারের ক্ষেত্রে ধারাবাহিকতা পছন্দ করি কারণ 'ম্যাজেন্টো তাই বলেছিল'।
বেন ক্রুক

1
@ বেনক্রুক যদি এই কয়েকদিন ধরে আমার পড়া সঠিকভাবে কাজ করে তবে তা নয়। যদি কেউ .lessতাদের থিমের কোনও প্যারেন্ট থিম / মডিউলের কোনও ফাইলের মতোই পাথের সাথে যুক্ত করেন তবে এটি একটি ওভাররাইড। আপনি সম্ভবত আপনার থিমটিতে একটি ফাঁকা _ মডুল.বিহীন তৈরি করে এবং মূল শৈলীগুলি প্রযোজ্য কিনা তা দেখে যাচাই করতে পারবেন।
ড্যারেন ফেলটন

1
পরে php bin/magento setup:static-content:deploy, আপনি মধ্যে সন্ধান করতে পারেন pub/static/frontend/<vendor>/<themeName>/<locale>/css/এবং pub/static/frontend/<vendor>/<themeName>/<locale>/<Module_Name>/css/সেখানে হয় আপনার থীম, বা মডিউল / পিতা বা মাতা থিম এটা থেকে আসছে করুন * .less ফাইলের জন্য সিম্বলিক লিংক থাকবে।
ড্যারেন ফেলটন

1
এটি সঠিক _ মোডিউল.বিহীন পিতামাতার কম ফাইলকে ওভাররাইড করে, কোন উত্তরাধিকার বা মার্জ করা হয় না। আমি বুঝতে পেরেছি যে আমি আমার আসল উত্তরে আরও স্পষ্ট করতে পারতাম :)
সিএনরিন

1
@ ম্যাটকোসেন্টিনো আমি বুঝতে পেরেছি যে এই উত্তরটি খুব দেরিতে এসেছে, তবে কেউ যদি এতে হোঁচট খায় তবে আমি এই এখানে রেখে যাব: দয়া করে _extends.less এবং _extend.less এর মধ্যে পার্থক্যটি লক্ষ্য করুন। পিতামাতার থিম থেকে শৈলীর প্রসারিত করতে _extend.less ফাইলগুলি কোনও মডিউল প্রসঙ্গে যুক্ত করা যেতে পারে। _Extends.less থিমের মূলের মধ্যে অবস্থিত এবং বিদ্যমান ইউটিলিটিগুলি প্রসারিত করতে ব্যবহৃত হয় (<প্রকল্প> / লিবি / ওয়েবে / সিএস / ডকস / উত্স /_উটিলিটিসলেস দেখুন) to
সিএনরিন

3

উভয়ের মধ্যে সহজ ব্যাখ্যা বা পার্থক্য:

_extend.lessপিতামাতাদের থিম শৈলীর প্রসার বা সংশোধন করার উপায় উদাহরণস্বরূপ আপনি আপনার পিতামহীন থিম লুমার সাথে সন্তুষ্ট এবং আপনার কাস্টম থিমের বোতামের স্টাইলগুলি পরিবর্তন করতে চান, আপনাকে যা করতে হবে তা হ'ল আপনার কাস্টম থিমের _buttons_extend.lessঅধীনে একটি নতুন ফাইল তৈরি করা web/css/sourceএবং সেখানে শৈলীগুলি সামঞ্জস্য করুন। _extend.lessআপনার থিম ডিরেক্টরিতে ফাইলটিতে এটি যুক্ত করে এই ফাইলটি নিবন্ধ করুন ।

আপনি যদি মডিউলের শৈলীর প্রসার বাড়াতে চান, যেমন চেকআউট মডিউল, ভাল আপনি _extend.lessআপনার থিমগুলির মডিউল ফোল্ডারের মধ্যে একটি ফাইল তৈরি করতে পারেন Magento_Checkout/web/css/source/_extend.lessএবং সেখানে মডিউল স্টাইলিং যুক্ত / প্রসারিত করতে পারেন।

এখন যদি আমি _module.lessআমার মডিউল ডিরেক্টরিতে ফাইল যুক্ত করি তবে আমি Magento_Checkout/web/css/source/_module.lessএই মডিউলটির জন্য আমার পিতামাতার থিমগুলির স্টাইলিংকে ওভাররাইড করার উদ্দেশ্যে নিয়েছি যা ক্ষেত্রে _module.lessআমার পিতামাতার থিমের মডিউল ডিরেক্টরি থেকে ' ' ফাইলটি অনুলিপি করতে হবে এবং সেই ফাইলটিতে এই ফাইলটি সংশোধন করতে হবে মূল থিম _module.lessফাইল পুরোপুরি প্রতিস্থাপন করুন।


বাবা-মা হিসাবে তিনি কখনও লুমার কথা বলছেন না।
ইজাকুইল আলবা

1

_extends.lessফাঁকা থিম মধ্যে শেষে একটি S সঙ্গে, একটি ফাইল যেখানে তারা সব ক্লাস মাধ্যমে বাড়ানো যেতে পারে নির্মিত LESSশৈলী পরিবর্তনের জন্য নতুন উপাদান বা মডুলার গঠন তৈরি করার প্রয়োজন ছাড়াই থিম মধ্যে পরে। -> যারা করে না আমাকে বিশ্বাস জন্য: https://github.com/magento/magento2/blob/2.3-develop/app/design/frontend/Magento/blank/web/css/source/_extends.less পরীক্ষা ফাইল।

_extend.lessশেষে এস ছাড়া, যখন আপনি কি পিতা বা মাতা থিম এবং আপনি শুধু জিনিষ একটি দম্পতি পরিবর্তন করতে, কিছু স্টাইলিং পরিবর্তন প্রয়োজন 99% খুশি জন্য এবং যে এটি।

দ্বিতীয়টি সম্পর্কে, আমার ব্যক্তিগত মতামত, এটি আপনার নিজের বিকাশের জন্য ব্যবহার করবেন না। এটি পরে একটি বড় জগাখিচুড়ি সৃষ্টি করে। _module.lessআপনি কাস্টমাইজ করতে চান এমন প্রতিটি মডিউলের সাথে আপনার কাঠামোগুলি মডুলার রাখুন এবং আপনি শেষে আরও ভাল ফলাফল এবং বজায় রাখতে সক্ষম প্রকল্প পাবেন।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.