Kategorie_id herausfinden,erstellen oder zuweisen aber wie?

Hallo, ich vermute mal dass jede Kategorie (Haupt- und Unterkategorie) jeweils eine eigene ID hat. Wie kann ich diese ID herausfinden? (Zb. die ID der zweiten Unterkategorie der dritten Hauptkategorie) Kann ich diese ID dann einfach vor eine Less Änderung setzen damit nur diese Kategorie angesprochen wird? Z.b. wenn ich die Produktbildgröße der box-basic nur in einer bestimmten Kategorie ändern möchte, würde das dann so aussehen?: #Kategorie_ID .box–basic {.image–left(195);} lg, markus

Die Kategorie ID müsstest du erst ins template übernehmen - zb in den body tag einbauen. Viele Grüße

Haben die Kategorien von sich aus wohl keine ID? Weil ich immer wieder in irgendwelchen codes „categorie_id“ oder so ähnlich gelesen habe… Kann mir jemand einen Tipp geben wie ich das anstellen soll zb der zweiten Hauptkategorie eine ID zu geben über den body tag? Oder irgendwie anders evtl?

klar haben die Kategorien ID’s. Schau mal z.b. in die /listing/index.tpl Je nachdem wo du dise nutzen willst, musst du die variable erst zur verfügung stellen.

sCategory=$sCategoryContent.id Das habe ich gefunden. Aber was hat das zu beuten? So wie das aussieht ist es wohl so das es für jede Kategorie eine ID gibt und irgendwie über diese Anweisung zugewiesen wird? Wie finde ich diese, die müssen doch irgendwo aufgelistet sein oder irgendwie eine Formel wie die Id generiert wird das man sie einfach ausrechnen kann? Gibt es jetzt für jede Kategorie bereits eine ID und ich muss wenn ich diese nutzen will eine Variable zu verfügung stellen? Wie macht man das? Oder muss man erst selbst eine ID erstellen und über den body tag einbauen? :frowning: ich check das alles nicht…

Wenn du auf die ID über einen css Selektor zugreifen willst, dann muss ein Element (zb body) auch diese Klasse nutzen. Viele Grüße

Ah ok das habe ich jetzt verstanden denke ich. Nur das Problem ist das man erst mal herausfinden muss welche id eine Kategorie hat… sonst kann man sie ja auch nicht einbauen.

Wieso?! Du hast doch bereits heraus gefunden, dass die ID wohl in $sCategoryContent.id steht? Viele Grüße

1 „Gefällt mir“

Aber nicht in der index.tpl einbauen - hat ja nicht jede Seite eine ID *denk* ggf. über die index.tpl vom listing in den Body einbauen.

1 „Gefällt mir“

Danke! :slight_smile: Jetzt muss ich nur noch herausfinden wie das gemeint ist: [quote][…]dass die ID wohl in $sCategoryContent.id steht?[/quote] $sCategoryContent.id ist wohl eine Datei? Ich dachte immer das wäre eine Variable und dachte mir immer dabei wenn es immer dieselbe ist gibt es ja auch keinen Sinn…

“$sCategoryContent.id” ist eine Smarty-Variable. Du müsstest den Block für “body” in Dein Template kopieren und etwa sowas einbauen: {if $sCategoryContent.id} class=“MeineCatID{$sCategoryContent.id}”{/if} Da müsste für “Deutsch” dann class=“MeineCatID3” entstehen. [Edit] Mit [code] tillt das oben [Edit2] Dein gesuchter Block wäre in 5.1.2 {block name=“frontend_index_body_classes”} Mit dem ein prepend mit {if $sCategoryContent.id}MeineCatID{$sCategoryContent.id} {/if}

Ich hatte hier auch mal einen kleinen PR auf Github: https://github.com/shopware/shopware/pull/379 Dort wird dann entsprechend die ID der Kategorie als bodyclass ausgegeben.

2 „Gefällt mir“

Also wenn ich zwei Kategorien habe deren ID ich aus “Kategorien >>Allgemeine Einstellungen” deren IDs zb 101 und 102 sind dann müsste ich diesen code hier in die listing/index.tpl schreiben?: {extends file='frontend/index/index.tpl'} {block name='{block name="frontend\_index\_body\_classes"}' prepend} {if $sCategoryContent.id} class="101{$sCategoryContent.id}"{/if} {if $sCategoryContent.id} class="102{$sCategoryContent.id}"{/if} {/block}

[quote=“kayyy”]Ich hatte hier auch mal einen kleinen PR auf Github: https://github.com/shopware/shopware/pull/379 Dort wird dann entsprechend die ID der Kategorie als bodyclass ausgegeben.[/quote] Also wenn ich in der index/index.tpl diesen neuen body einfüge [code]+

[/code] dann geht es automatisch dass die jeweilige Kategorie ID zugewiesen wird und ich kann die Ids somit mit less nutzen ohne jeweils alle einzeln zuzuweisen?

Ich habe jetzt den neuen body in meine eigene index.tpl gesetzt. Das läuft einwandfrei bisher, jede Kategorie die ich mit firebug anschaue hat jetzt eine eigene class! Ich habe es gleich so getestet indem ich bei einer Kategorie die Bilder verkleinert habe: @media screen and(min-width: @desktopViewportWidth) { body { &.is--ctl-listing-499 { .box--basic { .image--left(100);} } } } Funzt! Danke Leute für eure Hilfe, das war wieder einwandfrei :thumbup: E: Jetzt habe ich auch die schreckliche Macht erworben die Linke Spalte für einzelne Kategorien aus- und anzuschalten. Das Freut mich wieder :slight_smile: