PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Wie verschachtelte if´s vermeiden?


saan
02.04.2008, 11:00
Wie kann ich Konstruktionen dieser Art in einem Template vermeiden oder optimieren:

<if condition="THIS_SCRIPT == 'index'">
<img class="thumbbig" src="images/misc/header/header05.jpg" border="0" />
<else />
<if condition="THIS_SCRIPT == 'usercp'">
<img class="thumbbig" src="images/misc/header/header06.jpg" border="0" />
<else />
<if condition="THIS_SCRIPT == 'album'">
<img class="thumbbig" src="images/misc/header/header04.jpg" border="0" />
<else />
<if condition="THIS_SCRIPT == 'member'">
<img class="thumbbig" src="images/misc/header/header02.jpg" border="0" />
<else />
<if condition="THIS_SCRIPT == 'calendar'">
<img class="thumbbig" src="images/misc/header/header09.jpg" border="0" />
<else />
<img class="thumbbig" src="images/misc/header/header07.jpg" border="0" />
</if>
</if>
</if>
</if>
</if>

Ich wechsle derzeit damit die Headergrafik abhängig vom Script. Da die Zahl der Scripte recht heftig ist, vermute ich bei weiteren Conditions Performanceprobleme oder Augenschäden.
Die Möglichkeit von 'Cases' wie in einigen Sprachen gibt es nicht zufällig?

Vielen Dank im Voraus

Hoffi
02.04.2008, 11:11
Ein Plugin Schreiben und anhand dort anhand des Scriptes die Grafik in eine Variable schreiben.
Anbieten würde sich hier global_start.
if conditions in Templates werden zu ?: Operatoren im Script. Case ist nicht möglich.

saan
02.04.2008, 13:30
Leider überschätzt du ein wenig meine rudimentären Kenntnisse. 'Plugins schreiben' wird davon leider nicht abgedeckt. Ebenso mal schnell im oder in einer 'global_start' sogenannte '?: Operatoren' einzufügen ;)

Ich werde mal schauen ob ich Codebeispiele, die deinem Vorschlag ähneln, hier oder im Mod-Forum finde.

Trotzdem vielen Dank für die schnelle Hilfe!

Hoffi
02.04.2008, 14:19
Oh.. nein. Du sollst keine ?: selber einfügen. Im geparsten Template werden <if zu ?: Operatoren.

Für Plugins schau am besten mal bei www.vbulletin-germany.org vorbei.

saan
02.04.2008, 18:47
...werde ich machen.

Danke für deinen Nachtrag.