Shop Support News Archive - Shopbetreiber News -> Forum : GPL Onlineshop Software xt eCommerce Templates Module SEO Support: : Isset
Für alle, die das Standardtemplate oder ein darauf aufbauendes Template verwenden.
in der Datei product_info_v1.html zu finden in templates /xtc4 /module /product_info sind eine Abfragen enthallten nach den Muster
{if $MODULE_graduated_price !=''} {$MODULE_graduated_price}
{/if}
Sauberer wäre es, wenn man es so schreiben würde
{if isset($MODULE_graduated_price)} {$MODULE_graduated_price}
{/if}
''>ZITAT(lockdron @ Dec 20 2006, 15:11) 16980
Noch sauber wäre eigentlich die Variante
{if isset($MODULE_graduated_price) && $MODULE_graduated_price != ''} {$MODULE_graduated_price}
{/if}
du kannst nämlich nicht davon ausgehen, dass eine "leere" Varibale keinen Inhalt hat. Mit isset() überprüfst du nur, ob die Variable gesetzt wurde, aber nicht ob sie auch wirklich keinen Inhalt hat. (ein leerer String ist nicht unbedingt null).
by lockdron
[/b]
Hi lockdron,
da bin ich der Meinung, dass das schon im php-Code abgefangen werden müsste.
''>ZITAT(lockdron @ Dec 21 2006, 9:11) 17024
Da geb ich dir zum einen recht (so wenig Code im Template wie möglich), aber:
1. müsste dann zusätzlich noch die entsprechende .php geändert werden (und das hier soll ja keine Komplettoptimierung werden) und
2. sollte man schon von vorneherein alle Variablen vordefinieren, dass so ein Fall (Variable nicht gesetzt) garnicht vorkommen kann (mögliche Sicherheitslücken).
Das Problem ist, dass Smarty an sich eigentlich zu kullant mit nicht gesetzten Variablen umgeht : /
P.S.: Ich will hier jetzt keinen Glaubenskrieg der Programmierung losbrechen, aber ich bin der Meinung, wenn sauber dann rnichtig.
by lockdron
[/b]
Schon klar :wub:
vBulletin® v3.8.4, Copyright ©2000-2012, Jelsoft Enterprises Ltd.