Was ist die Fehlermeldung:
Erforderlicher Parameter 'theme_dir' wurde nicht übergeben
Hat es mit Magento 2 zu tun? Und wie kann dieses Problem behoben werden?
Was ist die Fehlermeldung:
Erforderlicher Parameter 'theme_dir' wurde nicht übergeben
Hat es mit Magento 2 zu tun? Und wie kann dieses Problem behoben werden?
Antworten:
Nur für den Fall, dass Sie das Thema direkt entfernen (nicht in Magento-Weise).
Folgen Sie dann diesen Schritten.
SCHRITT 1: Dateivorgänge
Löschen Sie den Inhalt von
app/design/frontend/<Vendor>
(stellen Sie sicher, dass Sie ihn zuerst sichern).Löschen Sie den gesamten Inhalt des Ordners
var/view_preprocessed
&pub/static/frontend
.SCHRITT 2: DB-Operationen
Gehen Sie zu Ihrem
theme
Tisch und löschen Sie den Eintrag für Ihr erstelltes Thema.Nachdem...
Gehen Sie zu Ihrem
core_config_data
Tisch und suchen Sie nach,theme
und Sie erhaltendesign/theme/theme_id
Pfadaufzeichnungen, in denen Sie Ihre Standardthema-ID ersetzen können.SCHRITT 3: Cache leeren
Leeren Sie Ihren Cache
php bin/magento cache:flush
Lassen Sie mich wissen, wenn Sie danach noch Probleme haben.
quelle
theme
-Tabelle repariert, aber dencore_config_data
Wert vergessen .setup:static-content:deploy
admin ausgeführt wurde, kehrte er zur Benutzeroberfläche zurück.pub/static/.htaccess
war nicht da. DankeDiese Fehlermeldung bedeutet, dass Sie ein Design konfiguriert haben, das auf dem Dateisystem nicht mehr vorhanden ist.
Es kann leicht behoben werden, indem stattdessen ein gültiges Thema ausgewählt wird. Gehen Sie zu Inhalt -> Konfiguration , wählen Sie den Bereich (global, Website, store_view) und ändern Sie das Thema. Nachdem Sie dies getan haben, sollten Sie es auch aus Inhalt -> Themen entfernen .
Verweise
quelle
In meinem Fall habe ich ein untergeordnetes Thema aus dem Anbieterverzeichnis gelöscht. Aber der DB-Eintrag war noch in der
theme
Tabelle vorhanden. Gehen Sie also zu dertheme
Tabelle und löschen Sie den Datensatz, der auf das gelöschte Thema verweist.quelle
composer remove vendor/theme
?rm -rf vendor/theme
Stellen Sie sicher, dass der
theme
Tabelleneintrag und dermagento\app\design\frontend\<Vendor>
Eintrag identisch sind.Wenn nicht, verursacht es dieses Problem.
Entfernen Sie unnötige Designs über Admin -> Inhalt -> Design -> Designs . Lösche es. Daher wird auch DB Entry entfernt.
Wenn Sie nur Ordner entfernen, funktioniert es nicht
quelle
Dieses Problem kann auch auftreten, wenn Sie sich in einem emulierten Zustand befinden, beispielsweise in einem CLI-Befehl. Ich hatte eine Situation, in der ich in der CLI keine E-Mail senden konnte, weil der Befehl wrapping in einem emulierten Zustand ausgeführt wurde:
Wenn im obigen Beispiel versucht wurde, das Vorlagenverzeichnis der E-Mail zu ermitteln, wurde eine Zuordnung zu dieser E-Mail vorgenommen
global/Magento/backend
, die nicht vorhanden ist. Um dies zu beheben, musste ich es manuell in meinem Konstruktor hinzufügen:Nach diesem Fix wurde das Problem behoben und ich konnte die E-Mail senden.
Aktualisieren:
Wenn Sie E-Mails über die CLI senden, ist die Verwendung der Emulation ein geeigneterer Ansatz. Zum Beispiel:
Auf diese Weise müssen Sie Ihre schmutzigen kleinen Hacks nicht.
quelle
Lauf
sql UPDATE core_config_data SET value=NULL WHERE path='design/theme/theme_id'
dann löschen Sie die
pub/static/frontend
,var/view_preprocessing
,var/cache
,var/page_cache
Verzeichnisse.quelle
@hakre ist richtig. Ich habe den gleichen Fehler bekommen
Required parameter 'theme_dir' was not passed
. Im Folgenden erkläre ich, was ich getan habe, um den Fehler zu verursachen:Ich erstelle ein Thema im Verzeichnis app / design / frontend / MyVendorTheme2 / myThemeName2 und konfiguriere es dann, indem ich das Thema " MyVendorTheme2 - myThemeName2 " im Magento 2 Admin-Browser auswähle ( Stores> Configuration> THEMENEINSTELLUNGEN> GENERAL> Design> Design Theme ) . Aber ich habe dann beschlossen , die „zu bewegen myThemeName2 “ Verzeichnis (mein neues Thema enthält) unter einem anderen (vorhandenen) Anbieter Ordner „sein MyVendorTheme1 “ app / design / frontend / MyVendorTheme1 / myThemeName2 , und entfernt sie aus dem „ MyVendorTheme2 “ Ordner , in dem es war davor. Ich ging Vermögenswerte zu kompilieren ( das heißt
grunt clean
,grunt exec:myThemeName2
,grunt less:myThemeName2
) und öffnete dann meinen Browser in meiner Themen-Unterdomäne (dh http: // myvirtualhostdomain: myport / myvendortheme1_mythemename2_magento2_quickstart / ).Anfangs habe ich einen unbekannten Fehler erhalten:
There has been an error processing your request Exception printing is disabled by default for security reasons. Error log record number:
Ich habe die Fehlerberichterstattung durch Umbenennen
pub/errors/local.xml.sample
in aktiviertlocal.xml
und die Seite aktualisiert. Mir wurde dann der Fehler präsentiertRequired parameter 'theme_dir' was not passed
.Ich habe den Fehler behoben, indem ich in meinen Magento 2 Admin-Browser ( Stores> Configuration> THEMENEINSTELLUNGEN> ALLGEMEIN> Design> Designthema ) zurückgekehrt bin, in dem mein vorheriges und jetzt ungültiges Designthema ausgewählt war, und daher das richtige ausgewählt habe.
quelle
Dieser Fehler ist mir beim Speichern von Produktabbildungen nach der Installation eines benutzerdefinierten Designs passiert.
Ich hatte das benutzerdefinierte Design, das als virtueller Typ festgelegt wurde, dh in der DB in der Designtabelle, Typ = 1. In meinem Fall habe ich das Design nicht mehr verwendet und es daher aus der Tabelle gelöscht.
quelle
1 - Verwenden Sie den folgenden Befehl, um die Themen im Admin-Bereich zu identifizieren.
2 - Führen Sie den Befehl aus, um die installierten Designs zu identifizieren:
3- Führen Sie die folgenden Befehle aus, um das Thema zu erstellen, das nicht vorhanden ist:
quelle
Wenn nichts funktioniert hat, vergessen Sie nicht, den Abschnitt Kategorien zu überprüfen. Dort gibt es auch eine Designeinstellung. Stellen Sie sicher, dass das richtige Designthema zugewiesen ist. In meinem Fall wurde der Fehler nur in einigen Kategorien angezeigt.
quelle
Wenn Sie ein Produkt hinzufügen oder bearbeiten, wechseln Sie zum Abschnitt Design und ändern Sie die Layoutoption.
quelle
Sie können das nicht verwendete Design direkt aus der Datenbank entfernen, indem Sie die folgende Abfrage ausführen:
Wann nicht verwendet, ist das nicht verwendete Thema, und nachdem Sie Ihren Cache clena
quelle
Ich hatte dieses Problem, als ich versehentlich den Ordner app / desing / adminhtml / theme-name entfernte. Das Problem wurde behoben, indem ich es zurückbrachte. Außerdem trat es nur auf, als ich versuchte, Admin Panel zu betreten.
quelle
In einigen Fällen löschen Sie ein benutzerdefiniertes Design auf eine nicht ordnungsgemäße Weise. In diesem Fall tritt auch dieser Fehler auf. In dieser Situation:
Aktualisieren Sie den Seitenfehler weg.
quelle
Ich habe das Problem behoben. In meinem Fall war das Problem nicht Magento2, sondern eine falsche Operation, die ich vor einiger Zeit wie folgt ausgeführt habe: Ich habe ein Design erstellt, das den relativen Pfad in app / design / frontend / MyFolder / MyTheme erstellt und wie in der Magento 2-Online-Dokumentation beschrieben registriert. Dann habe ich beschlossen, das Thema abzubrechen und stattdessen den entsprechenden Befehl zu verwenden: bin / magento theme: deinstalliere Frontend / MyFolder / MyTheme Ich habe die Ordner direkt gelöscht. Dies ist keine gute Operation, da die Datenbank nicht mit den erforderlichen Informationen aktualisiert wird. Lösung: Löschen Sie mit einem Datenbankeditor wie phpmyadmin den Datensatz in der Tabelle "Theme", der den gelöschten Ordnern entspricht. Ich hoffe das wird helfen!
quelle
Ich weiß, dass diese Frage ziemlich alt ist, aber da ich erst heute darauf gestoßen bin und schnell herausgefunden habe, was mein Problem ist, habe ich beschlossen, meine Antwort als Erinnerung für all diejenigen zu posten, die wie ich PhpStorm für die Arbeit mit Magento verwenden: Denken Sie daran, Ihre Dateien beim Wechseln der Zweige auszuchecken.
In meinem Fall verfügte der Zweig, an dem ich arbeitete, nicht über die erforderlichen Themendateien (diese wurden von PhpStorm gespeichert, als ich vom Themenzweig zum Hauptzweig wechselte), da sie noch nicht darin zusammengeführt wurden Error.
Hoffe das könnte jemandem helfen.
quelle
Löschen Sie alle temporären Themendateien, die nicht auf der Website verwendet werden, und löschen Sie auch die temporären Themendateien, die nicht verwendet werden, und führen Sie den Cache aus: flush
quelle