Magento 2: Bagaimana saya bisa menggunakan tema saya saja

33

Saya menggunakan ini untuk menyebarkan konten tetapi terlalu banyak waktu.

php bin/magento setup:static-content:deploy 

kemudian saya mencari cara menambahkan bahasa cepat tetapi masih menggunakan semua tema.

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

Bagaimana saya bisa deployhanya konten tema saya saja?

Qaisar Satti
sumber
FYI ada PR yang akan menambah kemampuan ini dan banyak lagi. Saya pikir itu mungkin akan keluar dengan v2.2.
thdoan
Solusi potensial lain tetapi untuk mode produksi magento.stackexchange.com/questions/126270/…
Saya menggunakan Magento 2.0.4 dan menggunakan ini <code> php -dmemory_limit = 8G pengaturan bin / magento: static-content: deploy --theme Rws / fonddecave tidak ada. Apa kesalahan saya yang dapat membantu seseorang dalam hal ini?
Raghwendra Ojha
Jika Anda memiliki pertanyaan baru, silakan tanyakan dengan mengklik tombol Ajukan Pertanyaan . Sertakan tautan ke pertanyaan ini jika itu membantu menyediakan konteks. - Dari Ulasan
Shoaib Munir
1
@ DarrenFelton selesai.
Qaisar Satti

Jawaban:

56

Mulai 2.1.1 Anda sekarang dapat menggunakan tema tertentu atau mengecualikan tema:

Menyebarkan tema spesifik:

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

Kecualikan tema:

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

masukkan deskripsi gambar di sini

Perbarui opsi-opsi ini sekarang dalam dokumentasi .

Mathew Tinsley
sumber
itu tidak bekerja untuk saya juga tidak disebutkan di devdocs.magento.com/guides/v2.1/config-guide/cli/… Di sana kami hanya memiliki 2 opsi.
Adeel Ishfaq
@AdeelIshfaq Seperti banyak hal lain, ini belum didokumentasikan, tetapi berfungsi di 2.1.1. Saya memasang tangkapan layar.
Mathew Tinsley
Mengajukan permintaan tarik agar opsi baru ditambahkan ke dokumentasi: github.com/magento/devdocs/pull/827
Mathew Tinsley
@MathewTinsley, mungkinkah untuk menggunakan tema frontend spesifik dalam semua bahasa, dan tema backend spesifik hanya dalam satu bahasa? Saya tidak memerlukan backend saya dalam semua bahasa ..
bpoiss
@Boiss ada --languageParameter sekarang. Contoh--language en_US
Darren Felton
25

Saya khawatir Anda tidak dapat menggunakan hanya satu tema dengan setup:static-content:deployperintah konsol magento .

Saya telah berurusan dengan pengembangan M2 frontend selama 2 minggu terakhir dan saya dapat menegaskan bahwa proses pengembangannya benar-benar NYERI! Anda akan kehilangan banyak waktu menerapkan perubahan karena kompleksitas hirarki file yang lebih sedikit dan fallback tema.

Pokoknya saya Grunt sekarang di sini Anda akan menemukan cara menginstal, mengkonfigurasi dan menggunakannya, dengan Grunt Anda dapat menggunakan dan / atau mengkompilasi ulang lebih sedikit file untuk satu tema.

Jadi pendekatan itu ok jika Anda berada dalam mode "pengembang" karena Grunt tidak menggunakan file gambar , font , dan javascriptpub/static/... sehingga Magento akan melakukannya saat pertama kali diperlukan.

Untuk mengaktifkan mode pengembang, jalankan:

php bin/magento  deploy:mode:set developer

Jika Anda mencari cara untuk menyebarkan seluruh konten untuk satu tema di productionmaaf saya katakan itu tidak mungkin.

BTW Saya cukup yakin bahwa itu akan menjadi Permintaan Fitur yang bagus untuk dibuat.

EDIT: Breaking News!

Saya menemukan cara untuk menyebarkan semua perubahan sedikit lebih cepat:

  • Instal Grunt + config tema Anda (satu untuk setiap bahasa)
  • setelah setiap perubahan berjalan:
    • grunt exec:{theme_name} // Clean folders and deploy less files
    • grunt less:{theme_name} // Process less files

Voila sekarang Anda akan memiliki semua perubahan Anda digunakan dalam Just (¿?) 12 ~ 16 detik, 12 detik adalah catatan pribadi saya!

EDIT: Breaking News 2!

Dikonfirmasi! jika Anda membuat perubahan pada file .less (yang sudah digunakan) jalankan saja grunt less:{theme_name}.

Jadi, Anda harus menjalankan grunt exec:{theme_name}hanya ketika:

  • Tambah / Hapus / Ganti Nama *.lessFile
  • Tambah / Hapus / Ganti Nama *.jsFil
  • Tambah / Hapus / Ganti Nama *.cssFile
  • Tambah / Hapus / Ganti Nama imageFile
  • Tambah / Hapus requirejs-config.js

Selain itu saya menonaktifkan blocks, layoutsdan full pageCache, sehingga setiap perubahan ke template dan / atau tata letak xml akan ditampilkan secara otomatis.

MauroNigrele
sumber
dapatkah Anda membimbing saya bagaimana membuat perubahan melalui css kurang saya terjebak di topmenu beberapa item ditemukan tetapi ada yang tidak tetapi ada css ada .. seperti .nav-sectionsanak kecil level0.
Qaisar Satti
Ini adalah topik yang sangat besar saya sarankan Anda membaca (keseluruhan) panduan resmi ( devdocs.magento.com/guides/v2.0/frontend-dev-guide/… ). Anda harus memahami semuanya. lib > module > theme > fallback. Sebagai titik awal, lihatlahlib/web/css
MauroNigrele
Anda dapat melihat dokumentasi Perpustakaan UI di toko Anda sendiri atau di sini: magento2-demo.nexcess.net/pub/static/frontend/Magento/luma/… juga
MauroNigrele
2
Bagaimana dengan saat Anda mengedit plugin JS? Saya menemukan bahwa perubahan tidak tercermin di situs. Saya harus menghapus file JS yang diedit dari pub/staticdan memindahkan ( setup:static-content:deploy) agar perubahan dapat ditampilkan.
thdoan
Tidak yakin mengapa ini adalah jawaban yang diterima, yang di bawah ini jauh lebih baik.
Tisch
16

Di Magento 2 Anda dapat menggunakan tema tema spesifik dan juga mengecualikan tema dengan perintah ini:

Konten Menyebarkan tema spesifik Dengan perintah ini:

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

Kecualikan tema Dengan perintah ini:

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

Jika Anda perlu menyebarkan konten statis untuk bahasa tertentu (en_US) , dan mengecualikan tema lain, dan tidak perlu mengecilkan file HTML maka gunakan perintah ini:

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

Berikut ini jalan pintas untuk hanya menggunakan tema Anda

-untuk area

-t untuk tema

-l untuk bahasa

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

Sumber

Qaisar Satti
sumber
1
Bukankah seharusnya ada -lsebelum en_US?
James Harrington
2

tampaknya sekarang Anda harus menggunakan bahasa apa pun kecuali en_US secara manual. saya bekerja dengan 2.0.2 dan mengembangkan-cabang.

Gunther Hebein
sumber
Anda pak, benar.
dchayka
1

Untuk menggunakan tema tertentu dengan bahasa tertentu:

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

Nahid
sumber
1

Jika magento Anda dalam mode pengembang, maka sebarkan tema tertentu menggunakan perintah di bawah ini:

Hapus konten statis

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

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

Lalu

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

ATAU

php bin/magento s:s:d -f --theme Vendor/theme
Amatya Trivedi
sumber