Uploadfähiges Theme für nopCommerce #
Ab Version 4.10 lassen sich nun auch Layouts (= Themes) wie Standard-Plug-Ins, in eine ZIP-Datei packen, sodass sicht diese über das Admincenter unter „Konfiguration\Plugins“ hochladen lassen.
Letztlich wird der einzelne Unterordner mit den Theme-Dateien in eine Zip-Datei gepackt in deren Root noch eine Beschreibungsdatei gepackt wird.
Diese Zusatzdatei „uploadeditems.json“ hat folgenden Aufbau:
[
{
"Type": "Theme",
"SupportedVersion": "4.10",
"DirectoryPath": "EULANDA-White/"
}
]
Diese Angaben werden in im Format UTF-8 als Text gespeichert. Dies lässt sich wunderbar mit den Windows-Notepad machen.
Achten Sie darauf, dass die Option „Dateiextension bei bekannten Dateitypen ausblenden“ im Dateiexplorer unter Optionen, nicht aktiviert ist, da dann zwar vermeintlich der richtige Dateiname angezeigt, aber unsichtbar doch noch die Endung „.txt“ angefügt wird.
Unterhalb der Zip-Root ist dann neben dieser Zusatzdatei nur der Hauptordner der Theme-Dateien, die unter „DirectoryPath“ in der Zusatzdatei angegeben wurde – also „EULANDA-White“.
Darunter sind die normalen Dateien wie bei jedem Theme enthalten. Also die Ordner „Content“ und „Views“ mit den jeweiligen Unterordnern.
Eine vollständige Struktur kann beispielsweise wie folgt aussehen:
\uploadeditems.json
\EULANDA-White
\EULANDA-White\preview.jpg (510px x 333px)
\EULANDA-White\theme.json
\EULANDA-White\Content
\EULANDA-White\Content\Css
\EULANDA-White\Content\Css\ie8.css
\EULANDA-White\Content\Css\print.css
\EULANDA-White\Content\Css\styles.css
\EULANDA-White\Content\Css\styles.rtl.css
\EULANDA-White\Content\Css\Images
\EULANDA-White\Content\Css\Images\*.gif *.png usw.
\EULANDA-White\Views
\EULANDA-White\Views\_ViewImports.cshtml
\EULANDA-White\Views\Shared
\EULANDA-White\Views\Shared\Head.cshtml
Der Name der Zip-Datei spielt keine Rolle. Über die json-Datei „theme.json“ werden die Theme-Eigenschaften angegeben.
Die Theme-Datei in diesem Beispiel folgenden Inhalt hat:
{
"SystemName": "EULANDA-White",
"FriendlyName": "EULANDA-White",
"SupportRTL": false,
"PreviewImageUrl": "~/Themes/EULANDA-White/preview.jpg",
"PreviewText": "'EULANDA-White'"
}
Der Inhalt des Beispiels wurde im Wesentlichen dem NopCommerce-Standard-Theme „DefaultClean“ entnommen. Nach der Plugin-Installation steht das Theme an gewohnter Stelle auf dem Webserver zur Verfügung.