In der theme
Tabelle gibt es ein type
Feld mit 3 möglichen Werten: physisch, virtuell und Staging.
Wann sollte ein physisches virtuelles und ein Staging-Thema verwendet werden?
Wenn ich das Luma-Thema erweitert habe, wird mein neues Thema in der Thementabelle als virtueller Typ angezeigt. Aber es sieht so aus, als ob dieser Typ das Überschreiben einiger Dateien nicht zulässt. Wenn ich nur den Designtyp von virtuell auf physisch ändere, kann ich zum Beispiel das Magento_Theme
Paket erweitern.
0: Physical - Magento Default Theme (Example: Magento Blank, Magento Luma, Magento 2 Backend) 1: Virtual - Custom Theme which is created by you (custom) which has parent as Default Theme (Example: My Theme) 2: Staging - ?
vendor\magento\module-theme\Model\Theme\Registration.php
/** Allowed sequence relation by type, array(parent theme, child theme) * @var array */ protected $_allowedRelations = [ [ThemeInterface::TYPE_PHYSICAL, ThemeInterface::TYPE_VIRTUAL], [ThemeInterface::TYPE_VIRTUAL, ThemeInterface::TYPE_STAGING],]; /** Forbidden sequence relation by type ** @var array*/ protected $_forbiddenRelations = [[ThemeInterface::TYPE_VIRTUAL, ThemeInterface::TYPE_VIRTUAL],[ThemeInterface::TYPE_PHYSICAL, ThemeInterface::TYPE_STAGING],];
Antworten:
Es gibt 3 verschiedene Typen definiert in
Magento/Framework/View/Design/ThemeInterface
:Physische Themen
Physisch bezieht sich auf die Tatsache, dass diese Themen durch Dateien definiert sind. Beispielsweise werden das leere Thema und das Luma-Thema physikalisch unter definiert
app/design/frontend/
Virtuelle Themen
Dies ist noch unklar, aber ich denke, virtuelle Themen beziehen sich auf Themen, die Sie im Backend erstellen können, wodurch vorhandene physische Themen erweitert werden. Es scheint jedoch, dass sie noch nicht vollständig implementiert sind.
Sie können sehen, dass im Bearbeitungsbereich nur für virtuelle Themen zwei Registerkarten verfügbar sind, auf denen Sie benutzerdefiniertes CSS und JS für ein virtuelles Thema bereitstellen können.
Ich gehe davon aus, dass ein virtuelles Thema vorübergehend eingerichtet wird (z. B. ein Weihnachtsthema) und dass nur wenige Designänderungen im Vergleich zu dem physischen Thema erforderlich sind, das es erweitert.
Es ist noch keine Schaltfläche zum Hinzufügen eines virtuellen Themas verfügbar. Wenn Sie jedoch die folgende SQL-Abfrage ausführen, können Sie ein virtuelles Thema einrichten und die Registerkarte CSS und JS sehen, wenn Sie es bearbeiten:
Und hier sind zwei zusätzliche Registerkarten und Schaltflächen zum Speichern / Löschen:
Themen inszenieren
Ich gehe davon aus, dass Staging-Themen mit der Magento 2.1 EE-Staging-Funktion zusammenhängen: http://devdocs.magento.com/guides/v2.1/extension-dev-guide/staging/Staging.html
Ich gehe davon aus, dass Sie ein Staging-Thema haben können, wenn Sie eine Kampagne verwenden, aber ich bin nicht 100% sicher.
quelle
type
Spalte in dertheme
Tabelle gestoßen: Ich habe ein Thema erstellt und irgendwie wurde dertype
Wert auf1
(anstelle des Standardwerts von0
) gesetzt. Alle meine WENIGER / JS-Änderungen haben funktioniert, aber Magento hat keine Layoutdateien aus meinem Design gelesen, bis ich dentype
Wert auf geändert habe0
. Mehr dazu hier: nahuelsanchez.com/