Neu Template / Theme wechseln je Kategorie

Anarchnophobia

Gut bekanntes Mitglied
26. Oktober 2010
226
8
Leipzig
Mahlzeit Gemeinde

Shop 4.06.16

Folgendes Anliegen:
Wir haben einen Shop (hurra!)
Und ein Child-Template mit zwei Themes (welche sich bislang nur in der custom.css und der bootstrap.css unterscheiden)

Nun möchten wir als Hersteller zu unserer vorhandenen Marke eine neue Marke anlegen - deren Design sich in der Shopkategorie vom "Rest" unterswcheiden soll. Nur css-kram, also kein komplett anderes Layout, daher denke ich lässt sich das einfacher alles mit einem anderem Theme (und nicht einem komplett anderem Template) bewerkstelligen.

Nun möchte ich der Kategorie ein Funktionsattribut ala "Marke:NeueMarke" und den jeweiligen Artikeln darin ebenfalls ein Funktionsattribut "Marke:NeueMarke" mitgeben.

Soweit, so logisch.

Woran ich nun scheitere ist das Theme standard/neueMarke auch zu ändern. Ich vermute mal das müsste im header.tpl passieren, da gibt es ja folgenden Schnippsel:

Code:
{block name="head-resources"}
        {* css *}
        {if !isset($Einstellungen.template.general.use_minify) || $Einstellungen.template.general.use_minify === 'N'}
            {foreach from=$cCSS_arr item="cCSS"}
                <link type="text/css" href="{$cCSS}?v={$nTemplateVersion}" rel="stylesheet">
            {/foreach}

            {if isset($cPluginCss_arr)}
                {foreach from=$cPluginCss_arr item="cCSS"}
                    <link type="text/css" href="{$cCSS}?v={$nTemplateVersion}" rel="stylesheet">
                {/foreach}
            {/if}
        {else}
            <link type="text/css" href="asset/{$Einstellungen.template.theme.theme_default}.css{if isset($cPluginCss_arr) && $cPluginCss_arr|@count > 0},plugin_css{/if}?v={$nTemplateVersion}" rel="stylesheet">
        {/if}


........
{/block}

Die richtige Stelle um, so dachte ich mir, irgendwie mit:

Code:
{if $AktuelleKategorie->KategorieAttribute.marke=="neue Marke" || $Artikel->FunktionsAttribute.marke=="neue Marke" }
Theme-Auswahl neue Marke
{else}
standarddesign
{/if}

weiterzukommen... aber wie? An der Stelle ist die Themauswahl ja schon lange übergeben? Die ganzen von dem theme benutzen css Dateien (in $cCSS_arr) werden wohl in der \includes\letzterInclude.php generiert, bin mir auch nicht sicher ob ich darin überhaupt die Kategorie abfragen kann und... achachach. Ich drehe mich da gedanklich im Kreis und bekomms nicht hin.

Ob mir mal jemand das Händchen halten und weiterhelfen könnte? :)

Grüße
Matthias

PS: beim schreiben fiehl mir selber die Lösung ein: Nur für die neueMarke eine weitere custom2.css anzulegen, die in der Template.xml NICHT eingebunden wird, und diese dann mit meinem vorgeschlagenem Weg zusätzlich einzubinden? Da wird dann nur fast die gesamte bootstrap.css drin kopiert sein (welche man ja wieder aus dem Template.xml rausnehmen könnte...?)

PS2: Vllt hat ja noch jemand eine geschicktere Idee wie das ganze Theme zu wechseln wäre, falls nicht schicke den Thread nun dennoch mal ab, ist vllt für andere ja auch interessant :)
 

301Moved

Sehr aktives Mitglied
19. Juli 2013
930
187
Es gibt doch sogar Funktionsattribute zur Steuerung des Designs der Kategorien, vll hilft dir das ja direkt schon? (Nie benutzt, fällt mir nur gerade ein....)

Krieg den Link hier mobil nicht rein kopiert zum Guide, aber findet man schnell selbst ;)
 

Qwartz

Sehr aktives Mitglied
29. August 2012
511
91
Bayern
Wie veekop schon sagte geht das z.b über https://guide.jtl-software.de/jtl-s...uebersicht-funktionsattribute-fuer-kategorien
Wobei ich gerade nicht sagen kann ob das dann schon im Body vorhanden ist oder erst ab container o.ä. wirkt, noch nicht benutzt :)

Aber falls das nicht geht so aus dem Stehgreif... ohne Gewehr :)
HTML:
<body class="{if deinfunktionsattribut == } marke2{/if} >

und dann nich das Theme wechseln sondern einfach in die Standard css sowas wie...

CSS:
body.marke2{background-color:#78879}

u.s.w über die klasse kommst du ja dann auch an die unteren Elemente.

Nachtrag:
Ah ok, wer lesen kann ist klar im Vorteil ;)
"Die Ausgabe der CSS-Class erfolgt im <a>-Tag im Kategoriebaum. "
 
Zuletzt bearbeitet:

eRock Marketing

Offizieller Servicepartner
SPBanner
9. Januar 2018
490
188
Wenn es "nur ein paar CSS Sachen" sind - im <head> bereich (nach den standard geladenen CSS Sachen) einfach einen Inline Block einfügen.
HTML:
{if $AktuelleKategorie->KategorieAttribute.marke=="neue Marke" || $Artikel->FunktionsAttribute.marke=="neue Marke" }
  <style type="text/css">
     {literal}
       #content a {color: red;}
     {/literal}
  </style>
{/if}

Paar Zeilen CSS sind da einfacher und performanter, wenn diese Inline anstatt als eine zusätzliche Datei zu laden.
Sofern die assets Datei von JTL genutzt wird (Zusammenführen von CSS/JS im Template aktiv - kann ich auch nur empfehlen), kann nicht wirklich daran manipuliert werden. Dazu wären weitere Parameter notwendig +Eingriffe in den "Core" da hier leider kein Hook vorhanden ist, mit dem Thema hatten wir schonmal ausführlicher zu tun ;)
 
Ähnliche Themen
Titel Forum Antworten Datum
Neu Template anpassen - parallel zum bestehenden, ohne Aktivierung? Templates für JTL-Shop 2
Beantwortet Werte eigener Kundenfelder im Template anzeigen Allgemeine Fragen zu JTL-Shop 0
Neu Template/ Vorlage für Bestellbestätigung gesucht Templates für JTL-Shop 0
Neu Nova Template Container in Container Boxed Templates für JTL-Shop 2
Neu Unterstützung bei JTL5-Shop-Überarbeitung gesucht - Template/Plugin uvm. Dienstleistung, Jobs und Ähnliches 1
Neu JTL Shop Template Domain lösen? Allgemeine Fragen zu JTL-Shop 0
Neu How to maintain session value in the portlet template file Technische Fragen zu Plugins und Templates 0
Neu Custom Template für Custom Artikel mit Plugin? Plugins für JTL-Shop 0
Neu JTL-Shop 5 Nova-Template / Darstellung der Produktliste teilweise fehlerhaft JTL-Shop - Fehler und Bugs 1
Neu Template für Dateinamen hat nicht den gewünschten Effekt Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 6
Neu Eigenes Template sichern Templates für JTL-Shop 1
Neu Vorstellung des Avada-Themes für das NOVA-Template Templates für JTL-Shop 2
Neu Datenbankeintrag mit ausgewähltem Template Templates für JTL-Shop 0
Neu Probleme mit dem Divi Theme WooCommerce-Connector 5
Neu JTL Theme Editor Plugins für JTL-Shop 4
Neu Theme Auswahl in JTL Backend Templates für JTL-Shop 0
Auftrag Bearbeiter wechseln sperren JTL-Wawi 1.7 1

Ähnliche Themen