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.