Magento 2:テーマのみをデプロイするにはどうすればよいですか


33

これをコンテンツのデプロイに使用していましたが、時間がかかりすぎています。

php bin/magento setup:static-content:deploy 

その後、言語の追加を高速化することを考えますが、それでもすべてのテーマを展開します。

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

deployテーマコンテンツのみをどうすれば いいですか?


参考までに、この機能をさらに追加するPRがあります。おそらくv2.2で登場すると思います。
thdoan

生産モードのための別の潜在的な解決策が、magento.stackexchange.com/questions/126270/...

私はmagento 2.0.4を使用しており、この<code> php -dmemory_limit = 8G bin / magento setup:static-content:deploy --theme Rws / fonddecave en_US de_DE fr_FR </ code>を使用していますが、エラーが来ています--themeオプションは存在しない。私の間違いは誰でもこれについて助けることができますか?
ラグウェンドラオハ

新しい質問がある場合は、「質問する」ボタンをクリックして質問してください。コンテキストの提供に役立つ場合は、この質問へのリンクを含めてください。- レビューから
Shoaib Munir

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 /で言及していませんでした そこには2つのオプションがあります。
アディールイシュファク

@AdeelIshfaq他の多くのものと同様に、まだ文書化されていませんが、2.1.1で機能します。スクリーンショットを添付しました。
マシューティンズリー

:ドキュメントに追加された新しいオプションを持っているプル要求提出github.com/magento/devdocs/pull/827
マシュー・ティンズリー

@MathewTinsley、すべての言語で特定のフロントエンドテーマを展開し、1つの言語でのみ特定のバックエンドテーマを展開できますか?すべての言語でバックエンドは必要ありません
。– bpoiss

@bpoissには--language現在、パラメーターがあります。例--language en_US
ダレンフェルトン

25

magentoコンソールsetup:static-content:deployコマンドでテーマを1つだけ展開することはできないと思います。

私は過去2週間にわたってM2フロントエンド開発を扱ってきましたが、開発プロセスが実際の痛みであることを断言できます!ファイル階層とテーマのフォールバックの複雑さにより、変更の展開に多くの時間が失われます。

とにかく私は今ここに Grunt をインストールし、構成し、使用する方法を見つけます。Gruntを使用すると、単一のテーマの少ないファイルをデプロイおよび/または再コンパイルできます。

したがって、Gruntはイメージフォントjavascriptファイルを展開しないため、「開発者」モードであればpub/static/...、magentoが最初に必要とするので、このアプローチは問題ありません。

開発者モードを有効にするには、次を実行します:

php bin/magento  deploy:mode:set developer

単一のテーマのコンテンツ全体を展開する方法を探しproductionているなら、それは不可能だと言って申し訳ありません。

ところで、私はそれが素晴らしい機能要求になると確信しています。

編集:ニュース速報!

すべての変更を少し速く展開する方法を見つけました。

  • Gruntをインストールし、テーマを設定します(各言語に1つ)
  • 各変更の実行後:
    • grunt exec:{theme_name} // Clean folders and deploy less files
    • grunt less:{theme_name} // Process less files

これで、すべての変更がJust(¿?)12〜16秒で展開されます。12秒が私の個人的な記録です。

編集:速報ニュース2!

確認済み!(すでにデプロイされている).lessファイルを変更する場合は、単に実行しgrunt less:{theme_name}ます。

したがって、次の場合にgrunt exec:{theme_name}のみ実行する必要があります。

  • *.lessファイルの追加/削除/名前変更
  • *.jsFilsの追加/削除/名前変更
  • *.cssファイルの追加/削除/名前変更
  • imageファイルの追加/削除/名前変更
  • 削除を追加 requirejs-config.js

さらに、、キャッシュを無効blockslayoutsしたfull pageため、テンプレートやXMLレイアウトの変更は自動的に表示されます。


トップメニューで立ち往生しているCSSを変更する方法を教えてくれますか?いくつかのアイテムが見つかりましたが、いくつかはありませんが、CSSは次のように...そこにある.nav-sectionslevel0
カイザーサッティ

これは非常に大きなトピックなので、公式ガイド(devdocs.magento.com/guides/v2.0/frontend-dev-guide/…)全体を読むことをお勧めします。あなたはすべてを理解する必要がありますlib > module > theme > fallback. 出発点として見てくださいlib/web/css
マウロニグレ

:あなたはあなた自身の店にまたはここUIライブラリのドキュメントを参照してくださいすることができますmagento2-demo.nexcess.net/pub/static/frontend/Magento/luma/...だけでなく
MauroNigrele

2
JSプラグインを編集する場合はどうですか?変更がサイトに反映されていないことがわかりました。変更を表示するには、編集したJSファイルを削除しpub/static、再デプロイ(setup:static-content:deploy)する必要がありました。
thdoan

なぜこれが受け入れられた答えなのか定かではありませんが、以下の方がはるかに優れています。
Tisch

16

Magento 2では、特定のテーマをコンテンツデプロイし、このコマンドでテーマを除外することもできます。

Content Deploy特定のテーマこのコマンドで:

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



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
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.