Magento 2: मैं केवल अपने विषय को कैसे लागू कर सकता हूं


33

मैं इस सामग्री का उपयोग करने के लिए उपयोग कर रहा था, लेकिन इसमें बहुत अधिक समय लग रहा है।

php bin/magento setup:static-content:deploy 

फिर मुझे पता चला कि भाषा तेजी से जुड़ रही है लेकिन यह अभी भी सभी विषयों को तैनात करती है।

php bin/magento setup:static-content:deploy  en_US

मैं deployकेवल अपनी विषय सामग्री ही कैसे कर सकता हूं?


FYI करें एक पीआर है जो इस क्षमता और बहुत कुछ जोड़ देगा। मुझे लगता है कि यह शायद v2.2 के साथ बाहर आएगा।
थुदान

एक और संभावित समाधान लेकिन उत्पादन मोड के लिए magento.stackexchange.com/questions/126270/…

मैं Magento 2.0.4 का उपयोग कर रहा हूं और इस <code> php -dmemory_limit = 8G bin / magento सेटअप का उपयोग कर रहा हूं: स्थिर-सामग्री: परित्याग -te अस्तित्व में नहीं है। मेरी क्या गलती है इस पर कोई मदद कर सकता है?
राघवेंद्र ओझा

यदि आपके पास कोई नया प्रश्न है, तो कृपया प्रश्न पूछें बटन पर क्लिक करके इसे पूछें । इस प्रश्न का लिंक शामिल करें यदि यह संदर्भ प्रदान करने में मदद करता है। - समीक्षा से
शोएब मुनीर

1
@ डारेनफेल्टन ने किया।
क़ैसर सत्ती

जवाबों:


56

2.1.1 के अनुसार अब आप विशिष्ट विषयों को तैनात कर सकते हैं या थीम को बाहर कर सकते हैं:

विशिष्ट विषय नियोजित करें:

php bin/magento setup:static-content:deploy --theme Magento/backend --theme Vendor/mytheme

विषयों को बाहर करें:

php bin/magento setup:static-content:deploy --exclude-theme Magento/luma

यहाँ छवि विवरण दर्ज करें

इन विकल्पों को अपडेट करें अब दस्तावेज़ में हैं


यह मेरे लिए भी काम नहीं करता था, यह devdocs.magento.com/guides/v2.1/config-guide/cli/… में उल्लेख नहीं किया था । वहाँ हम सिर्फ 2 विकल्प हैं।
अदील इश्फाक

@ AdeelIshfaq कई अन्य चीजों की तरह, यह अभी तक प्रलेखित नहीं है, लेकिन यह 2.1.1 में काम करता है। मैंने एक स्क्रीनशॉट संलग्न किया।
मैथ्यू तिनस्ले

दस्तावेज़ में नए विकल्प जोड़ने के लिए एक पुल अनुरोध प्रस्तुत किया: github.com/magento/devdocs/pull/827
मैथ्यू टिन्सले

@ मैथ्यू टिनस्ले, क्या सभी भाषाओं में एक विशिष्ट फ्रंटेंड थीम और केवल एक भाषा में एक विशिष्ट बैकेंड थीम को तैनात करना संभव है? मैं सभी भाषाओं में मेरी बैकएंड की जरूरत नहीं है ..
bpoiss

@ बपतिस्मा --languageअब एक पैरामीटर है। उदाहरण--language en_US
डैरेन फेल्टन

25

मुझे डर है कि आप सिर्फ Magento कंसोल setup:static-content:deployकमांड द्वारा केवल एक विषय को तैनात नहीं कर सकते ।

मैं पिछले 2 हफ्तों से M2 फ्रंटेंड डेवलपमेंट के साथ काम कर रहा हूं और मैं पुष्टि कर सकता हूं कि देव प्रक्रिया यह एक वास्तविक दर्द है! कम फ़ाइलों की पदानुक्रम और थीम की कमियों के कारण परिवर्तनों को लागू करने में आपको बहुत समय गंवाना पड़ेगा।

वैसे भी अब तक मैं ग्रंट हूँ यहाँ आप पाएंगे कि इसे कैसे स्थापित करें, कॉन्फ़िगर करें और इसका उपयोग करें, ग्रंट के साथ आप एक ही विषय के लिए कम फ़ाइलों को तैनात और / या फिर से जोड़ सकते हैं।

यदि आप "डेवलपर" मोड में हैं, तो यह दृष्टिकोण ठीक है क्योंकि ग्रन्ट छवियों , फोंट और जावास्क्रिप्ट फ़ाइलों को तैनात नहीं करता है इसलिए मैगनेटो pub/static/...इसे पहली बार आवश्यक करेगा।

डेवलपर मोड को सक्रिय करने के लिए, चलाएं:

php bin/magento  deploy:mode:set developer

यदि आप किसी एकल विषय के लिए संपूर्ण सामग्री को productionI माफ़ करने के लिए तैनात करने का एक तरीका खोज रहे हैं, तो यह कहना कि संभव नहीं है।

BTW मुझे पूरा यकीन है कि यह एक अच्छा फीचर अनुरोध होगा।

संपादित करें: ब्रेकिंग न्यूज!

मुझे सभी परिवर्तनों को थोड़ी तेज़ी से लागू करने का एक तरीका मिला:

  • अपने विषय को ग्रंट + कॉन्फ़िगर करें (प्रत्येक भाषा के लिए एक)
  • प्रत्येक परिवर्तन चलाने के बाद:
    • grunt exec:{theme_name} // Clean folders and deploy less files
    • grunt less:{theme_name} // Process less files

वोइला अब आपके पास बस ( 12 ?) 12 ~ 16 सेकंड में तैनात आपके सभी बदलाव होंगे , 12 सेकंड मेरा व्यक्तिगत रिकॉर्ड है!

EDIT: ब्रेकिंग न्यूज़ 2!

की पुष्टि की! यदि आप (पहले से ही तैनात) के लिए परिवर्तन कर रहे हैं grunt less:{theme_name}। बिना फाइल के बस चले ।

तो, आपको grunt exec:{theme_name}केवल तभी भागना होगा :

  • एक *.lessफ़ाइल जोड़ें / निकालें / नाम बदलें
  • जोड़ें / निकालें / नाम बदलें एक *.jsफिल्स
  • एक *.cssफ़ाइल जोड़ें / निकालें / नाम बदलें
  • एक imageफ़ाइल जोड़ें / निकालें / नाम बदलें
  • जोड़ना हटाना requirejs-config.js

इसके अतिरिक्त मैं अक्षम हूं blocks, layoutsऔर full pageकैश, इसलिए टेम्प्लेट और / या xml लेआउट में कोई भी परिवर्तन स्वचालित रूप से प्रदर्शित किया जाएगा।


क्या आप मुझे बता सकते हैं कि कैसे मैं css में बदलाव कर सकता हूं क्योंकि मैं टॉपमेनू में फंस गया हूं। कुछ आइटम मिले, लेकिन कुछ नहीं हैं, लेकिन वहाँ सीएसएस है .. .nav-sectionsबच्चे की तरह level0
कासर सत्ती

यह एक बहुत बड़ा विषय है जिसे मैं आपको (संपूर्ण) आधिकारिक मार्गदर्शिका ( devdocs.magento.com/guides/v2.0/frontend-dev-guide/… ) पढ़ने की सलाह देता हूं । आप सभी को समझना चाहिए lib > module > theme > fallback. कि एक प्रारंभिक बिंदु पर एक नज़र डालेंlib/web/css
मौरोनिग्रेले

आप अपने स्वयं के स्टोर में या यहां यूआई लाइब्रेरी के दस्तावेज देख सकते हैं: magento2-demo.nexcess.net/pub/static/frontend/Magento/luma/… साथ ही
मूरोनिग्रेले

2
जब आप एक जेएस प्लगइन को संपादित करते हैं तो क्या होता है? मुझे पता चला कि परिवर्तन साइट पर प्रतिबिंबित नहीं हो रहे थे। मुझे दिखाने के लिए बदलावों के लिए संपादित जेएस फाइल pub/staticऔर रिडेपल ( setup:static-content:deploy) से हटाना पड़ा ।
थुदान

यह सुनिश्चित नहीं है कि यह स्वीकृत उत्तर क्यों है, नीचे वाला ज्यादा बेहतर है।
टिस्क

16

Magento 2 में आप विशिष्ट विषयों को तैनात करने में सक्षम हैं और इस आदेश द्वारा विषयों को भी बाहर कर सकते हैं:

इस आदेश द्वारा विशिष्ट विषय सामग्री परिनियोजित करें :

php bin/magento setup:static-content:deploy --theme Vendor/firsttheme --theme Vendor/secondtheme

इस आदेश द्वारा थीम बाहर करें:

php bin/magento setup:static-content:deploy --exclude-theme Vendor/yourtheme

यदि आपको किसी विशेष भाषा (en_US) के लिए स्थिर सामग्री की आवश्यकता होती है , और अन्य विषय को छोड़ दें, और HTML फ़ाइलों को छोटा करने की आवश्यकता नहीं है , तो इस कमांड का उपयोग करें:

magento setup:static-content:deploy en_US --exclude-theme Vendor/yourtheme --no-html-minify

5

यहां केवल आपके विषय को लागू करने के लिए शॉर्टकट है

-एक क्षेत्र के लिए

विषय के लिए

-एल भाषा के लिए

php bin/magento setup:static-content:deploy en_US -a frontend -t Magento/luma

स्रोत


1
एक -lसे पहले नहीं होना चाहिए en_US?
जेम्स हैरिंगटन

2

ऐसा लगता है कि अब तक आपको मैन्युअल रूप से en_US को छोड़कर किसी भी भाषा को तैनात करना होगा। मैं 2.0.2 और विकास शाखा के साथ काम कर रहा हूँ।


आप सर, सही हैं।
ढाका

1

एक विशिष्ट भाषा के साथ एक विशिष्ट विषय को तैनात करने के लिए:

php bin/magento setup:static-content:deploy --theme Magento/backend --theme Vendor/mytheme pt_BR


1

यदि आपका Magento डेवलपर मोड में है, तो नीचे दिए गए आदेशों का उपयोग करके विशिष्ट थीम परिनियोजित करें:

स्थैतिक सामग्री निकालें

rm -rf pub/static/*                            /*to remove files excluding .htaccess*/

rm -rf var/view_preprocessed/*                 /*to remove files excluding .htaccess*/

और तब

php bin/magento setup:static-content:deploy -f --theme Vendor/theme

या

php bin/magento s:s:d -f --theme Vendor/theme
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.