[Gelöst] if else problem veständniss

Für Fragen und Diskussionen zum Layout und Design, Templates und Stylesheets sowie Themes
Post Reply
harald
New Member
New Member
Posts: 5
Joined: Sun Feb 28, 2010 3:35 pm

[Gelöst] if else problem veständniss

Post by harald »

Erstmal ein freundliches Hallo in die Runde und sorry wenn gleich ne Frage poltert...smile

Möchte im Layout folgendes einarbeiten

Code: Select all

{if ($page_alias = 'alias seite1')}
Hier dann Text für Seite 1

{elseif ($page_alias = 'alias seite2')}
{cms_module module='Banners' category='bannerseite2'}
oder auch Text für seite 2

{elseif ($page_alias = 'alias seite3')}
und hier ebenfalls Text für seite 3

{else}
Keine Banner
{/if}
habe auch das pagealias mal so verwendet auch keinen Erfolg, es kommt immer der Fehler

Code: Select all

string(115) "Smarty error: [in tpl_body:27 line 75]: syntax error: unidentified token '=' (Smarty_Compiler.class.php, line 1410)" string(115) "Smarty error: [in tpl_body:27 line 78]: syntax error: unidentified token '=' (Smarty_Compiler.class.php, line 1410)" string(115) "Smarty error: [in tpl_body:27 line 81]: syntax error: unidentified token '=' (Smarty_Compiler.class.php, line 1410)"
hab schon versucht den Text dann über Content Blöcke zu setzen aber auch dies schlug fehl.

Kann mir da einer unter die Arme greifen wie das genau lauten sollte.
Bin totaler Anfänger was den Codes angeht aber Probier halt gerne rum bis es geht, aber zwei Tage sind genug...grins

gruss
Harald
Last edited by harald on Sun Feb 28, 2010 5:00 pm, edited 1 time in total.
NaN

Re: if else problem veständniss

Post by NaN »

Das Problem ist das "=".
Mit einem einfachen "=" werden keine Vergleiche angestellt, sondern Werte Variablen zugewiesen (Zuweisungsoperator).
D.h. Mit

Code: Select all


$page_alias = 'alias seite2'

weist Du der Variablen $page_alias den Wert "alias Seite2" zu.
Und das geht mit Smarty nicht so einfach, da Smarty keine Scriptsprache ist.
Wenn Du nur prüfen willst, ob der Wert einer Variable einem bestimmten anderen Wert entspricht, dann muss Du ein doppeltes "=" verwenden (Vergleichsoperator):

Code: Select all


{if $page_alias=='alias seite2'}

oder

Code: Select all


{if $page_alias eq 'alias seite2'}

("eq" steht für "equal" = "gleich")

Abgesehen davon, sind in Deinem Alias mit Sicherheit keine Leerzeichen oder Großbuchstaben enthalten ;)
Selbst wenn Du im Backend als Alias "alias Seite2" eingibst, wird es vom CMS in "alias-seite2" umbenannt, da das Alias als Teil der URL eineindeutig sein sollte und keine Sonderzeichen o.ä. enthalten sollte.

PS: Willkommen im Forum :)
harald
New Member
New Member
Posts: 5
Joined: Sun Feb 28, 2010 3:35 pm

Re: if else problem veständniss

Post by harald »

perfekt.....danke
versuch das seit zwei tagen und es lag an einem doppelten= an den kopfklatsch.... :)
das mit den Leerzeichen war schon klar.

gruss
Harald
Last edited by harald on Sun Feb 28, 2010 5:03 pm, edited 1 time in total.
Post Reply

Return to “Layout und Design”