Apa pesan kesalahan:
Parameter yang diperlukan 'theme_dir' tidak lulus
Apakah ini terkait dengan Magento 2? Dan bagaimana masalah ini bisa diperbaiki?
Apa pesan kesalahan:
Parameter yang diperlukan 'theme_dir' tidak lulus
Apakah ini terkait dengan Magento 2? Dan bagaimana masalah ini bisa diperbaiki?
Jawaban:
Untuk jaga-jaga jika Anda menghapus tema secara langsung (Tidak dengan cara Magento).
Kemudian ikuti langkah-langkah ini.
LANGKAH 1: Operasi File
Hapus konten dari
app/design/frontend/<Vendor>
(pastikan Anda mencadangkannya terlebih dahulu).Hapus semua konten folder
var/view_preprocessed
&pub/static/frontend
.LANGKAH 2: Operasi DB
Pergi ke
theme
meja Anda dan hapus entri untuk tema yang Anda buat.Setelah itu...
Pergi ke
core_config_data
meja Anda dan caritheme
dan Anda akan mendapatkan catatan jalur sepertidesign/theme/theme_id
mengganti id tema default Anda di dalamnya.LANGKAH 3: Siram cache
Siram cache Anda
php bin/magento cache:flush
Beri tahu saya jika Anda masih menghadapi masalah setelah itu.
sumber
theme
-tabel, tetapi lupa tentangcore_config_data
nilai.setup:static-content:deploy
admin kembali ke UI.pub/static/.htaccess
adalah tidak ada di sana. terima kasihPesan kesalahan ini berarti bahwa Anda memiliki tema yang dikonfigurasi yang tidak ada pada sistem file (lagi).
Itu dapat dengan mudah diperbaiki dengan memilih tema yang valid sebagai gantinya. Pergi ke Konten -> Konfigurasi , pilih ruang lingkup (global, situs web, store_view) dan ubah tema. Setelah selesai, Anda juga harus menghapusnya dari Konten -> Tema .
Referensi
sumber
Dalam kasus saya, saya menghapus tema anak dari direktori Vendor. Tetapi entri DB masih ada di
theme
tabel. Jadi pergi ketheme
tabel dan hapus catatan yang menunjuk ke tema yang dihapus.sumber
composer remove vendor/theme
?rm -rf vendor/theme
Pastikan
theme
entri tabel &magento\app\design\frontend\<Vendor>
Entri akan sama.Jika tidak, ini yang menyebabkan masalah ini.
Hapus tema yang tidak perlu melalui Admin -> Konten -> Desain -> Tema . Hapus. Jadi itu akan menghapus Entri DB juga.
Jika Anda hanya menghapus folder maka itu tidak akan berfungsi
sumber
Masalah ini juga dapat terjadi ketika Anda berada dalam kondisi ditiru, misalnya dalam perintah CLI. Saya memiliki situasi di mana saya tidak bisa mengirim email di CLI, karena perintah pembungkus berjalan dalam keadaan ditiru:
Pada contoh di atas, ketika email mencoba menentukan dir template-nya, itu akan dipetakan ke
global/Magento/backend
, yang tidak ada. Untuk memperbaikinya, saya harus menambahkannya secara manual di konstruktor:Setelah perbaikan ini, masalah ini terpecahkan dan saya dapat mengirim email.
Memperbarui:
Ketika mengirim surat menggunakan CLI, pendekatan yang lebih tepat adalah menggunakan emulasi. Sebagai contoh:
Dengan cara ini Anda tidak perlu melakukan peretasan kecil yang kotor.
sumber
Lari
sql UPDATE core_config_data SET value=NULL WHERE path='design/theme/theme_id'
kemudian menghapus
pub/static/frontend
,var/view_preprocessing
,var/cache
,var/page_cache
direktori.sumber
@akre benar. Saya mendapat kesalahan yang sama
Required parameter 'theme_dir' was not passed
. Di bawah ini saya jelaskan apa yang saya lakukan untuk menyebabkan kesalahan:Saya membuat tema di direktori app / design / frontend / MyVendorTheme2 / myThemeName2 , dan kemudian mengkonfigurasinya dengan memilih tema " MyVendorTheme2 - myThemeName2 " di browser Admin Magento 2 ( Toko> Konfigurasi> KEMASAN TEMA> UMUM> Desain> Tema Desain ) . Tapi saya kemudian memutuskan untuk memindahkan direktori " myThemeName2 " (berisi tema baru saya) untuk berada di bawah folder vendor yang berbeda (yang ada) " MyVendorTheme1 " app / design / frontend / MyVendorTheme1 / myThemeName2 , dan menghapusnya dari folder " MyVendorTheme2 " di mana itu sebelumnya. Saya melanjutkan untuk mengkompilasi aset (yaitu
grunt clean
,grunt exec:myThemeName2
,grunt less:myThemeName2
), dan kemudian membuka browser saya di subdomain tema saya (yaitu http: // myvirtualhostdomain: myport / myvendortheme1_mythemename2_magento2_quickstart / ).Awalnya saya mendapat kesalahan yang tidak ditentukan:
There has been an error processing your request Exception printing is disabled by default for security reasons. Error log record number:
Saya mengaktifkan pelaporan kesalahan dengan mengganti nama
pub/errors/local.xml.sample
menjadilocal.xml
, dan menyegarkan halaman. Saya kemudian disajikan dengan kesalahanRequired parameter 'theme_dir' was not passed
.Saya menyelesaikan kesalahan dengan kembali ke peramban Admin Magento 2 saya ( Toko> Konfigurasi> PENGATURAN TEMA> UMUM> Desain> Tema Desain ), yang memilih tema desain saya yang sebelumnya dan sekarang tidak valid, jadi saya memilih yang benar.
sumber
Kesalahan ini terjadi pada saya ketika menyimpan gambar produk setelah menginstal tema khusus.
Saya memiliki tema khusus yang ditetapkan sebagai tipe virtual, yaitu dalam DB di tabel tema, ketik = 1. Dalam kasus saya, saya tidak menggunakan tema lagi jadi saya menghapusnya dari tabel.
sumber
1 - Gunakan perintah di bawah ini untuk mengidentifikasi tema di panel admin.
2 - Jalankan perintah untuk mengidentifikasi tema yang diinstal:
3 - Jalankan perintah ini di bawah ini untuk membuat tema yang tidak ada:
sumber
Jika tidak ada yang berhasil, jangan lupa untuk memeriksa bagian kategori. Ada pengaturan desain di sana juga. Pastikan bahwa tema desain yang benar ditetapkan. Dalam kasus saya, saya mendapatkan kesalahan hanya pada beberapa kategori.
sumber
Ketika Anda menambahkan atau mengedit produk maka buka bagian Desain dan ubah opsi tata letak.
sumber
Anda dapat menghapus tema yang tidak digunakan dari DB secara langsung dengan menjalankan kueri di bawah ini:
ketika tema yang tidak digunakan adalah tema yang tidak digunakan, dan setelah Anda akan clena cache Anda
sumber
Saya mengalami masalah ini ketika saya dihapus oleh folder app / desing / adminhtml / theme-name kecelakaan. Membawa kembali menyelesaikan masalah saya. Apalagi itu hanya terjadi ketika saya mencoba memasuki Panel Admin.
sumber
Dalam beberapa kasus Anda menghapus tema kustom dengan cara yang tidak tepat maka Anda juga akan menghadapi kesalahan ini. Dalam situasi ini:
Refresh kesalahan halaman hilang.
sumber
Saya menyelesaikan masalah ini. Dalam kasus saya masalahnya bukan Magento2 tetapi operasi yang salah saya lakukan beberapa waktu lalu sebagai berikut: Saya membuat tema menciptakan jalur relatif di app / desain / antarmuka / MyFolder / MyTheme dan mendaftarkannya seperti yang dijelaskan dalam dokumentasi online Magento 2. Kemudian saya memutuskan untuk membatalkan tema dan alih-alih menggunakan perintah yang sesuai: tema bin / magento: uninstall frontend / MyFolder / MyTheme Saya langsung menghapus folder. Ini bukan operasi yang baik karena basis data tidak diperbarui dengan informasi yang seharusnya. Solusi: dengan editor database sebagai phpmyadmin, hapus catatan di tabel "Tema" yang sesuai dengan folder yang dihapus. Saya harap ini akan membantu!
sumber
Saya tahu pertanyaan ini sudah cukup lama, tetapi karena saya baru saja membahasnya hari ini dan segera mengetahui apa masalah saya, saya memutuskan untuk mengirim jawaban saya sebagai pengingat bagi semua orang yang, seperti saya, menggunakan PhpStorm untuk bekerja dengan Magento: ingatlah untuk memeriksa file Anda saat berpindah cabang.
Dalam kasus saya, cabang yang sedang saya kerjakan tidak memiliki file tema yang diperlukan (mereka disimpan oleh PhpStorm ketika saya berubah dari cabang tema menjadi cabang master) karena mereka belum digabung, sehingga kesalahan.
Semoga ini bisa membantu seseorang.
sumber
hapus semua file sementara tema yang tidak digunakan di situs web dan hapus juga dari tema yang tidak menggunakan dan jalankan cache: flush
sumber