Body div im Warenkorb

Hallo!

Nächster Thread …

Der div style Body wird ja global in der _header unten gesetzt.

Da ich die right_tpl ausgebaut habe und im Kaufsbereich der Schritte im Warenkorb auch die _left.tpl raushaben will, gibt es ja jetzt ne Blöde Setzung…

margin 0 10px 25px 215px.

Die 215 Px ist, damit der Hauptcontent ab 215 Px beginnt. Aber wenn man im Warenkorb sich aufhält, bleibt der Body natürlich bestehen und das ganze fängt erst ab 215 Px an.

Meine Frage, ob ich eine Abfrage im _header schalten kann.

Also, wenn sich der Kunde im Warenkorb befindet soll er denn CSS style “body_warenkorb” nehmen, und sonst eben “body”.

Wer da ne Idee wie man sowas schalten kann?
Freue mich ganz doll über Antworten!

Niklas

[{$oViewConf->getActiveClassName()}]

zeigt dir die aktive Klasse an

Und anstatt <div id=‘body’> machste eben <div id=‘body_2’> oder so

Klingt logisch, aber verstehe gerade leider noch nicht wie das in meiner Anwendung aussehen sollte … :o

Also was er gerade ausspuckt ist “alist”. Weiss leider nicht wie du das meinst und wie ich das nun umsetze :o

Du kannst zB in Deinem Warenkorb-Template eine Variable einführen:

[{assign var=“bodybasket” value=“breit” }]

Diese kannst Du dann im Header abfragen bzw. einsetzen:

<div id=“body” class="[{$bodybasket}]">

Dann kriegt der body zusätzlich die Klasse “breit” angehängt, und für die änderst Du dann den Margin etc.

Bei den anderen Templates wird dann class="" gesetzt, und erzeugt den Standard-Body.

Grüße,
Achim

@oxal

das geht natürlich auch

Man könnte das auch kombinieren.

in deiner _head.tpl


<div id='body' class='[{$oViewConf->getActiveClassName()}]'>

und in deiner css-Datei legste einen neuen Selektor für die geänderten seiten an:


#body.basket , #body.user , #body.payment , #body.order {margin-left: 0;}

Der Vorteil wäre das du nur an 2 Stellen (Dateien) editierst.

Die classNames kriegste raus indem du einfach alle Shopbereiche mal durchgehst.

mfg

Vielen lieben Dank! Ich mach mich mal ran und bin sehr gespannt was rauskommt!

[QUOTE=tobi73de;29368]@oxal

das geht natürlich auch

Man könnte das auch kombinieren.

in deiner _head.tpl


<div id='body' class='[{$oViewConf->getActiveClassName()}]'>

und in deiner css-Datei legste einen neuen Selektor für die geänderten seiten an:


#body.basket , #body.user , #body.payment , #body.order {margin-left: 0;}

Der Vorteil wäre das du nur an 2 Stellen (Dateien) editierst.

Die classNames kriegste raus indem du einfach alle Shopbereiche mal durchgehst.

mfg[/QUOTE]

Habs direkt nach 5 Minuten mit deinem Schema hinbekommen. Um etwas hier dem Forum beizutragen noch einmal zusammenfassend:

Ich wollte ( da ich die _right.tpl und _left.tpl im Warenkorbsbereich ausblende ) den Hauptbereich größer hinbekommen.

Dieser Bereich wird über die _header.tpl mit der div id “body” gesteuert.

  1. Der Smarty Code [{$oViewConf->getActiveClassName()}] gibt uns Auskunft, wie der Klassenname der zu sehenden Seite heisst. Im Fall des Warenkorbes “basket”.

  2. In die _header.tpl wird unten bei der div id body nun der Code hiermit ersetzt:

<div id=‘body’ class=’[{$oViewConf->getActiveClassName()}]’>

  1. In der CSS müssen wir nun die neuen Klassen für die Bereiche erstellen, wie z.B.

div#body.basket { margin:0 10px 25px 115px;padding:10px 0 0 0;}

Diese Stelle steuert den Main Content auf der 1. Seite des Warenkorbes.

Vielen Dank!