Magento 2: Як я можу розгорнути лише свою тему


33

Я використовував це для розгортання вмісту, але це займає занадто багато часу.

php bin/magento setup:static-content:deploy 

то я з'ясовую, що додавання мови робить швидко, але воно все ще розгортає всі теми.

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

Як я можу deployлише вміст теми?


FYI є PR, який додасть цю можливість та багато іншого. Я думаю, це, мабуть, вийде з v2.2.
thoan

Ще одне потенційне рішення, але для режиму виробництва magento.stackexchange.com/questions/126270/…

Я використовую magento 2.0.4 і використовую цей <code> php -dmemory_limit = 8G налаштування бін / магенто: статичний контент: розгортання --тема Rws / fonddecave en_US de_DE fr_FR </code> Але приходить помилка - варіант теми не існує. Яка моя помилка, може хтось допомогти у цьому?
Raghwendra Ojha

Якщо у вас є нове запитання, будь ласка, задайте його, натиснувши кнопку Задати питання . Додайте посилання на це питання, якщо це допомагає надати контекст. - З огляду
Шойб Мунір

1
@DarrenFelton зроблено.
Qaisar Satti

Відповіді:


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/… Там у нас лише два варіанти.
Адель Ішфак

@AdeelIshfaq Як і багато інших речей, це ще не зафіксовано, але це працює в 2.1.1. Я додав скріншот.
Меттью Тінслі

Надіслано запит на додавання нових документів до документації: github.com/magento/devdocs/pull/827
Mathew Tinsley

@MathewTinsley, чи можна розгорнути певну тему фронтену на всіх мовах, а конкретну тему бекенда лише однією мовою? Мені не потрібен мій бекенд на всіх мовах ..
bpoiss

@bpoiss зараз --languageПараметр. Приклад--language en_US
Даррен Фелтон

25

Я боюся, що ви просто не можете розгорнути лише одну тему за допомогою setup:static-content:deployкоманди консолі magento .

Я мав справу з розробкою фронтенду M2 протягом останніх 2 тижнів і можу стверджувати, що процес розробки - це справжня боля! Ви втратили багато часу на розгортання змін через складність меншої ієрархії файлів та запасних тем.

У будь-якому випадку я зараз Grunt, тут ви знайдете, як встановити, налаштувати та використовувати його, за допомогою Grunt можна розгорнути та / або перекомпілювати менше файлів для однієї теми.

Отже, з цим підходом це нормально, якщо ви перебуваєте в режимі "розробника", оскільки Grunt не розгортає файли зображень , шрифтів і javascript, щоб pub/static/...magento зробив це в перший раз.

Щоб активувати режим розробника, запустіть:

php bin/magento  deploy:mode:set developer

Якщо ви шукаєте спосіб розгорнути весь вміст для однієї теми, productionя шкодую, що це неможливо.

BTW Я майже впевнений, що це було б непогано зробити Запит на особливості.

РЕДАКТУЙТЕ: Останні новини!

Я знайшов спосіб трохи швидше розгорнути всі зміни:

  • Встановіть Grunt + конфігуруйте свою тему (по одній для кожної мови)
  • після кожної зміни:
    • grunt exec:{theme_name} // Clean folders and deploy less files
    • grunt less:{theme_name} // Process less files

Voila, тепер усі ваші зміни будуть розгорнуті в Just (¿?) 12 ~ 16 сек, 12 сек - це мій особистий запис!

РЕДАКТУЙТЕ: Останні новини 2!

Підтверджено! якщо ви вносите зміни до (вже розгорнутих) .less файлів, просто запустіть grunt less:{theme_name}.

Отже, бігати потрібно grunt exec:{theme_name}лише тоді, коли:

  • Додати / видалити / перейменувати *.lessфайл
  • Додавання / видалення / перейменування *.jsфайлів
  • Додати / видалити / перейменувати *.cssфайл
  • Додати / видалити / перейменувати imageфайл
  • Додати / видалити requirejs-config.js

Крім того , я інвалід blocks, layoutsі full pageкеша, тому будь-яка зміна шаблонів і / або макети XML буде відображатися автоматично.


Ви можете мені підказати, як змінити css через менше, я застряг у topmenu. якийсь предмет знайдено, але деякі - ні, але css є .. як .nav-sectionsдитина level0.
Qaisar Satti

Це дуже велика тема, я рекомендую вам прочитати (весь) офіційний посібник ( devdocs.magento.com/guides/v2.0/frontend-dev-guide/… ). Ви повинні зрозуміти все. lib > module > theme > fallback. Початково подивітьсяlib/web/css
MauroNigrele

Документацію бібліотеки користувальницького інтерфейсу ви можете побачити у власному магазині чи тут: magento2-demo.nexcess.net/pub/static/frontend/Magento/luma/… а також
MauroNigrele

2
Що робити, коли ви редагуєте плагін JS? Я дізнався, що зміни не відображаються на сайті. Мені довелося видалити відредагований файл JS pub/staticі переустановити ( setup:static-content:deploy), щоб зміни з’явились .
thoan

Не впевнений, чому це прийнята відповідь, наведена нижче значно краща.
Тиш

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


2

видається, що на даний момент вам доведеться розгортати будь-яку мову, крім en_US вручну. Я працюю з 2.0.2 та розробляю-галузь.


Ви, пане, правильно.
дчайка

1

Щоб розгорнути певну тему певною мовою:

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


1

Якщо ваш магент в режимі розробника, тоді розгорніть конкретну тему, використовуючи команди нижче:

Видаліть статичний вміст

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 та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.