Antwort #7 am: 27. Oktober 2012, 06:47:46
Häää ??
Wer ersetzt wann was ??
Das Ausrufungszeichen ist eine Verneinung.
Eigentlich sucht
strpos das erste Vorkommen des sog
needle (hier z.B. "
index") in der Zeichenkette und gibt die Position in der Zeichenkette als Zahl aus.
Wird "
index" nicht gefunden wird ein boolean ausgegeben und zwar "
false".
Also in Worten bedeutet:
if strpos ($smarty.server
.PHP_SELF
, 'index') Wenn die Ausgabe der Position von "
index" in der URL numerisch ist ergibt die if-Abfrage "
true",
wenn nicht (weil gar nicht vorhanden), ergibt sie "
false".
strpos(~) ergibt
- wenn wir auf der Startseite sind: die Position als Zahl und die if-Abfrage ergibt folglich "true"
- wenn wir nicht auf der Startseite sind: "false" und die if-Abfrage ergibt folglich "false"
Wir wollen aber ja etwas überall, nur nicht auf der Startseite darstellen, möchten also, daß das Ergebnis "
true" ist wenn wir nicht auf der Startseite sind und kehren die Abfrage deshalb um in
if !strpos ($smarty.server
.PHP_SELF
, 'index') Jetzt ergibt
strpos (~)- wenn wir auf der Startseite sind: "false" und die if-Abfrage folglich "false"
- wenn wir nicht auf der Startseite sind: "true" und die if-Abfrage folglich "true"
Mit dem Ergebnis "
true" können wir also jetzt Befehle angeben die ausgeführt werden.
Alles klar ?
@WayneTsun
Damit dürfte auch deine Frage beantwortet sein
.
Gruß,
noRiddle
*NACHTRAG*
Bitte beachten, daß die komplette Abfrage ob man sich auf der Startseite befindet umfangreicher sein muß,
siehe oben:
http://www.modified-shop.org/forum/index.php?topic=22994.msg212807#msg212807*NACHTRAG II*
Ach, WayneTsun, jetzt weiß ich was du meinst.
Habe mich oben verschrieben.
Die Befehle sind korrekt, meine Aussage "Wenn du etwas darstellen lassen möchtest was nur auf der Startseite und sonst überall nicht angezeigt werden soll, mußt du's so machen" allerdings nicht.
Habe mich vertan und es umgekehrt ausgedrückt, aber die Befehle sind für das was Toby eigentlich wollte korrekt, sorry.