Magento2.1.0 che mostra l'errore Il parametro richiesto 'theme_dir' non è stato passato durante il salvataggio del prodotto in admin


17

Sto riscontrando questo errore Il parametro richiesto 'theme_dir' non è stato passato quando provo a salvare il prodotto in admin. Ho verificato la configurazione del tema assegnata ai negozi. Recentemente ho aggiornato da 2.0.7 a 2.1.0. Inoltre ho controllato che esiste il file registration.php della directory dei temi . Qualcuno ha riscontrato questo problema.

Risposte:


42

Questo errore appare quando si rimuove una cartella di modelli, a cui fa ancora riferimento il database. Il modo più semplice per risolverlo è, andare al database e nella tabella "tema", trovare il nome del tema in cui non esiste app/design/frontend/package.

DELETE il riferimento al tema mancante dalla tabella.


Questa dovrebbe essere la risposta accettata.
seanbreeden,

PERFETTO .. ​​LAVORATO COME UN FASCINO
Zorox,

Questa dovrebbe essere la risposta accettata.
Daan van den Bergh,

2 record erano in più nel mio database che ho rimosso BUt ancora non funzionante
HaFiz Umer

10

Posso confermare che la risposta di Vu Anh funziona. Ecco una spiegazione del perché ciò accade quando i prodotti vengono salvati , sebbene il tema eliminato non venga utilizzato da nessuna parte:

Dopo aver salvato un prodotto, la cache delle immagini viene rigenerata per tutti i temi. Ogni tema può avere i propri formati di dimensione dell'immagine, definiti in etc/view.xmle tutti questi saranno generati.

Invece di cercare i temi configurati in tutti i negozi, Magento passa in rassegna tutti i temi della themetabella.

Se non hai disinstallato correttamente un tema e hai appena rimosso i file, la voce orfana fa riferimento a un percorso inesistente e viene generata l'eccezione descritta.


2

Ho lo stesso errore Il parametro richiesto 'theme_dir' non è stato passato . Lavoro con 2.1.0 dall'inizio, non con l'aggiornamento. E ho un attributo di prodotto personalizzato "stile".

Il problema si verifica quando provo a salvare la nuova foto nel materiale. Senza l'immagine, il prodotto è stato salvato normalmente.

Risolto il problema con il commento dell'eccezione nel file:

vendor/magento/framework/view/design/Fallbck/Rule/Simple.php  

Ha funzionato per me. Ma penso che sia un trucco.


Questo è sicuramente un trucco. Risolvi il problema invece di rimuovere l'eccezione.
Daan van den Bergh,

-2

Alla fine l'ho risolto commentando l'eccezione sotto vendor/magento/framework/View/Design/Fallback/Rule/Simple.php.

if (in_array($placeholder, $this->optionalParams)) {
    return [];
} else {
    return [];
    //throw new \InvalidArgumentException("Required parameter '{$placeholder}' was not passed");
}

4
Ma questo non risolve l'errore, solo non lo mostra più. (Penso che la soluzione di Vu Anh sia più una correzione)
BvdVen,

3
Questo non è il modo giusto di risolvere questo problema! Controlla la risposta di Vu Anh.
medina,

2
Questa non è la soluzione migliore. Per favore, non farlo
Ankit Shah,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.