2. Magento: Sadece temamı nasıl dağıtabilirim


33

Bunu içeriği dağıtmak için kullanıyordum ama çok zaman alıyor.

php bin/magento setup:static-content:deploy 

sonra dilin hızlı olmasını sağlamanın bir yolunu bulmaya çalışıyorum ama hala tüm temaları konuşlandırıyorum.

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

deploySadece tema içeriğimi nasıl yapabilirim ?


Bilginize bu yeteneği ve çok daha fazlasını katacak bir PR var. Bence v2.2 ile ortaya çıkacak.
thdoan

Başka bir potansiyel çözüm ancak üretim modu için magento.stackexchange.com/questions/126270/…

Magento 2.0.4 kullanıyorum ve bu <code> php -dmemory_limit = 8G bin / magento kurulumunu kullanıyorum: statik içerik: konuşlandırmak --theme Rws / fonddecave en_US de_DE fr_FR </code> Ama hata geliyor - tema seçeneği yok yok Benim hatam nedir, kimse bu konuda yardımcı olabilir mi?
Raghwendra Ojha

Yeni bir sorunuz varsa, lütfen Soru Sor düğmesine tıklayarak sorun . Bağlam sağlamaya yardımcı oluyorsa, bu soruya bir bağlantı ekleyin. - Şu kaynaktan
Shoaib Munir

1
@DarrenFelton bitti.
Qaisar Satti

Yanıtlar:


56

2.1.1'den itibaren artık belirli temaları dağıtabilir veya temaları hariç tutabilirsiniz:

Belirli temaları dağıtın:

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

Temaları hariç tut:

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

görüntü tanımını buraya girin

Güncelleme bu seçenekleri şimdi belgelerinde bulunmaktadır .


benim için işe yaramadı, ayrıca devdocs.magento.com/guides/v2.1/config-guide/cli/… de değinmedi. Orada sadece 2 seçeneğimiz var.
Adeel Ishfaq 17:16

@AdeelIshfaq Diğer birçok şey gibi, henüz belgelenmemiştir, ancak 2.1.1'de çalışmaktadır. Bir ekran görüntüsü ekledim.
Mathew Tinsley

Yeni seçeneklerin belgelere eklenmesi için bir çekme isteği gönderdi: github.com/magento/devdocs/pull/827
Mathew Tinsley

@MathewTinsley, belirli bir ön uç temasını tüm dillerde ve belirli bir arka uç temasını yalnızca bir dilde dağıtmak mümkün mü? Her dilde arka
uçuma

@bpoiss --languageşimdi bir Parametre var. Örnek--language en_US
Darren Felton

25

Korkarım magento konsolu setup:static-content:deploykomutuyla sadece bir temayı konuşlandırmıyorsunuz .

Son 2 haftadır M2'nin ilerideki gelişimi ile uğraşıyorum ve geliştirme sürecinin gerçek bir BOYA olduğunu doğrulayabilirim! Daha az dosya hiyerarşisinin ve temaların geri dönüşlerinin karmaşıklığı nedeniyle değişiklikleri dağıtırken çok zaman kaybedeceksiniz.

Her neyse, şimdi Grunt'um burada , nasıl kurulacağını, yapılandırılacağını ve kullanılacağını bulacaksınız, Grunt ile tek bir tema için daha az dosya dağıtabilir ve / veya yeniden derleyebilirsiniz.

Bu yüzden, "geliştirici" modundaysanız bu yaklaşım tamamdır, çünkü Grunt görüntüleri , yazı tiplerini ve javascript dosyalarını konuşlandırmaz , pub/static/...böylece magento gereken ilk seferinde bunu yapar.

Geliştirici modunu etkinleştirmek için aşağıdakileri çalıştırın:

php bin/magento  deploy:mode:set developer

İçeriğin tamamını tek bir tema için dağıtmanın bir yolunu arıyorsanız production, bunun mümkün olmadığını söylediğim için üzgünüm.

Btw yapmak güzel bir özellik isteği olacağını oldukça eminim .

EDIT: Son Dakika Haberleri!

Tüm değişiklikleri biraz daha hızlı dağıtmanın bir yolunu buldum:

  • Grunt + programını kurun Temanızı yapılandırın (her dil için bir tane)
  • Her değişiklikten sonra:
    • grunt exec:{theme_name} // Clean folders and deploy less files
    • grunt less:{theme_name} // Process less files

Voila şimdi tüm değişikliklerinizi Just (¿?) 'Da yaptıracaksınız 12 ~ 16 sn, 12 sn benim kişisel rekorum!

EDIT: Son Dakika Haberleri 2!

Onaylandı! (zaten konuşlandırılmış) .less dosyalarında değişiklik yapıyorsanız, sadece çalıştırın grunt less:{theme_name}.

Yani, grunt exec:{theme_name}sadece ne zaman koşman gerekiyor:

  • *.lessDosya Ekle / Kaldır / Yeniden Adlandır
  • *.jsDosya Ekle / Kaldır / Yeniden Adlandır
  • *.cssDosya Ekle / Kaldır / Yeniden Adlandır
  • imageDosya Ekle / Kaldır / Yeniden Adlandır
  • Ekle Kaldır requirejs-config.js

Ayrıca ben özürlü blocks, layoutsve full page, Önbellekler şablonları ve / veya xml düzenleri herhangi bir değişiklik otomatik olarak görüntülenir böylece.


Nasıl css içinde değişiklik yapmak için bana rehberlik edebilir misiniz topmenu sıkışıp kaldım. bazı madde bulundu ama bazıları değil ama orada css var .. .nav-sectionsçocuk gibi level0.
Qaisar Satti

Bu çok büyük bir konudur (size) resmi kılavuzun tamamını ( devdocs.magento.com/guides/v2.0/frontend-dev-guide/… ) okumanızı tavsiye ederim . hepsini anlamalısınız lib > module > theme > fallback. Bir başlangıç ​​noktası olarak bir göz atınlib/web/css
MauroNigrele

: Kendi deposunda veya buradaki UI kitaplığı belgeler görebilirsiniz magento2-demo.nexcess.net/pub/static/frontend/Magento/luma/... yanı
MauroNigrele

2
Bir JS eklentisini düzenlediğinizde ne olacak? Değişikliklerin siteye yansımadığını öğrendim. Düzenlenen JS dosyasını kaldırmalı ve değişikliklerin gösterilmesi için pub/staticredeploy ( setup:static-content:deploy) yöntemini kullanmalıydım.
thdoan

Bunun neden cevap olarak kabul edildiğinden emin değilim, aşağıdaki cevap çok daha iyi.
Tisch

16

Magento 2'de belirli temaları dağıtabilir ve bu komutlarla temaları hariç tutabilirsiniz:

İçerik Belirli temaları dağıt Bu komutla:

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

Temaları dışla Bu komutla:

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

Belirli bir dil için (en_US) statik içerik dağıtmanız ve diğer temayı hariç tutmanız ve HTML dosyalarını küçültmeniz gerekmiyorsa, şu komutu kullanın:

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

5

Yalnızca temanızı konuşlandırmak için kısayol

-a alan için

-t teması

-l dil için

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

Kaynak


1
Daha -lönce olmaz en_USmıydı?
James Harrington

2

Şimdiye kadar en_US dışında herhangi bir dili manuel olarak konuşlandırmanız gerekiyor. 2.0.2 ve develop-branch ile çalışıyorum.


Siz efendim, haklısınız.
dchayka

1

Belirli bir dili belirli bir dilde dağıtmak için:

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


1

Magento'unuz geliştirici modundaysa, aşağıdaki komutları kullanarak belirli bir temayı konuşlandırın:

Statik içeriği kaldır

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

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

Ve sonra

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

VEYA

php bin/magento s:s:d -f --theme Vendor/theme
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.