Zum Inhalt springen

Globale Bedingungen richtig einsetzen

Erstellt am 7. Oktober 2005 · 6 Antworten · letzte Antwort am 7. Oktober 2005

Tags: Frage

tstening ·

Hallo,

stehe mal wieder etwas auf dem Schlauch. Ich habe zwei Sorachen. Eine ist die Standardsprache, die andere Sprache hat die id=4.

Dann kann ich doch über

temp.text = TEXT
[globalVar = GP:L = 4]
  temp.text.value = <div id="loginformtext">Angemeldet als:</div>
[global]
[else]
  temp.text.value = <div id="loginformtext">Logged in as:</div>
[global]

Entsprechend reagieren, richtig?

Nun sieht das bei mir aber so aus:

[usergroup = *] 
temp.loginBox = TEXT 
temp.loginBox.data  = TSFE : id
temp.loginBox.wrap (  
  <form action="index.php?id= | " method="post" id="loginForm">
  <table width="170" border="0" cellpadding="0" cellspacing="0">
    <tr>
      <td align="left" nowrap="">
      [globalVar = GP:L = 4]
        <div id="loginformtext">Angemeldet als:</div>
      [global]
      [else]
        <div id="loginformtext">Logged in as:</div>
      [global]
      </td>
    </tr>
    <tr>
      <td width="120">
        <div id="loginformtext">tstening</div>
      </td>
    </tr>
    <tr>
      <td>
        <input type="submit" title="Logout" value="Logout" id="logoutButton" />
      </td>
    </tr>
  </table>
  <input type="hidden" name="logintype" value="logout" />
  </form>
  <img src="pics/clear.gif" height="2" alt="" />
)

[else] 
temp.loginBox = TEXT 
temp.loginBox.data  = TSFE : id
temp.loginBox.wrap (

  ...
)
[global]

Im oberen Teil habe ich die Bedingung innerhalb von temp.loginBox.wrap stehen. Sie wird an dieser Stelle aber nicht ausgeführt, sondern im Frontend angezeigt.

Wie kann ich das gewünschte erreichen? Es soll je nach Sprache ein anderer Texte angezeigt werden. Eine Möglichkeit wäre es, den kompletten Teil temp.loginbox.wrap mit meiner Bedingung zu umschließen. Dann müsste ich aber für jede Sprache den kompletten wrap vorhalten. Das ist doch sehr unübersichtlich. :o

Bin für jeden Hinweis dankbar.

Viele Grüße,
Tobias #giggle#

theo ·
tstening schrieb

Dann kann ich doch über

temp.text = TEXT
[globalVar = GP:L = 4]
  temp.text.value = <div id="loginformtext">Angemeldet als:</div>
[global]
[else]
  temp.text.value = <div id="loginformtext">Logged in as:</div>
[global]

Entsprechend reagieren, richtig?

Nö, falsch.

temp.text = TEXT
temp.text.value = <div id="loginformtext">Logged in as:</div>
[globalVar = GP:L = 4]
  temp.text.value = <div id="loginformtext">Angemeldet als:</div>
[global]

das reicht vollkommen.

tstening schrieb

Nun sieht das bei mir aber so aus:

[usergroup = *] 
temp.loginBox = TEXT 
temp.loginBox.data  = TSFE : id
temp.loginBox.wrap (  
  <form action="index.php?id= | " method="post" id="loginForm">
  <table width="170" border="0" cellpadding="0" cellspacing="0">
    <tr>
      <td align="left" nowrap="">
      [globalVar = GP:L = 4]
        <div id="loginformtext">Angemeldet als:</div>
      [global]
      [else]
        <div id="loginformtext">Logged in as:</div>
      [global]...

Im oberen Teil habe ich die Bedingung innerhalb von temp.loginBox.wrap stehen. Sie wird an dieser Stelle aber nicht ausgeführt, sondern im Frontend angezeigt.

Logisch, sie steht ja auch im wrap

tstening schrieb

Eine Möglichkeit wäre es, den kompletten Teil temp.loginbox.warp mit meiner Bedingung zu umschließen. Dann müsste ich aber für jede Sprache den kompletten wrap vorhalten.

Im Prinzip schon.
Aber das sollte man über Constants regeln können. Dann brauchst Du nur die in die Conditions setzen.
Ist ungetestet, würde ich aber probieren.
Die kannst Du dann

theo ·
Bebbi schrieb

Bedingungen duerfen nicht in geschweiften Klammern stehen.

Jetzt irritiere Ihn nicht noch zusätzlich.
Sie stehen nicht zwischen geschweiften Klammern. Es ist ein ganz anderes problem.

tstening ·
theo schrieb
temp.text = TEXT
temp.text.value = <div id="loginformtext">Logged in as:</div>
[globalVar = GP:L = 4]
  temp.text.value = <div id="loginformtext">Angemeldet als:</div>
[global]

das reicht vollkommen.

Danke für den Hinweis.

tstening schrieb

Nun sieht das bei mir aber so aus:

[usergroup = *] 
temp.loginBox = TEXT 
temp.loginBox.data  = TSFE : id
temp.loginBox.wrap (  
  <form action="index.php?id= | " method="post" id="loginForm">
  <table width="170" border="0" cellpadding="0" cellspacing="0">
    <tr>
      <td align="left" nowrap="">
      [globalVar = GP:L = 4]
        <div id="loginformtext">Angemeldet als:</div>
      [global]
      [else]
        <div id="loginformtext">Logged in as:</div>
      [global]...

Im oberen Teil habe ich die Bedingung innerhalb von temp.loginBox.wrap stehen. Sie wird an dieser Stelle aber nicht ausgeführt, sondern im Frontend angezeigt.

theo schrieb

Logisch, sie steht ja auch im wrap

Ich dachte, die Regel mit der Schachtelung von Bedingungen bezieht sich nur auf geschweifte Klammern. Wieder was dazugelernt. 😉

tstening schrieb

Eine Möglichkeit wäre es, den kompletten Teil temp.loginbox.warp mit meiner Bedingung zu umschließen. Dann müsste ich aber für jede Sprache den kompletten wrap vorhalten.

Im Prinzip schon.
Aber das sollte man über Constants regeln können. Dann brauchst Du nur die in die Conditions setzen.
Ist ungetestet, würde ich aber probieren.
Die kannst Du dann
[/quote]

Hmm, also Du meinst, dass ich quasi zuerst je nach Sprache die Konstante setze und diese dann im eigentlichen wrap einbinde? Auch wenn die Frage blöd klingt: Wie binde ich die dann an der gewünschten Stelle im Setup ein?

Konstanten werden doch in Constants und nicht im Setup definiert, aber das Prinzip ist doch das selbe, d.h. so eine Abfrage, wie Du sie oben gezeigt hast, korrekt?

Oder meinst Du etwas ganz anderes? Beispiel?

Viele Grüße,
Tobias

theo ·
tstening schrieb

Ich dachte, die Regel mit der Schachtelung von Bedingungen bezieht sich nur auf geschweifte Klammern. Wieder was dazugelernt. 😉

?? Davon hat niemand was gesagt...

Du hast beschrieben, daß es im Frontend ausgegeben wird, und ich sage dazu halt: logisch. Ein wrap produziert nunmal eine blanke html-Ausgabe.

Zum Rest kann ich nur sagen:
Suchen, Dokus lesen etc.

tstening ·

Habs jetzt folgendermaßen gemacht:

In den Constants steht folgendes:

logininfo.text = <div id="loginformtext">Logged in as:</div>
[globalVar = GP:L = 4]
logininfo.text = <div id="loginformtext">Angemeldet als:</div>
[global]

Im Setup habe ich an der gewünschten Stelle {$logininfo.text} eingefügt.
Damit klappts auch mit dem Nachbarn.

Danke nochmals für den Tipp mit den Konstanten.

Gruss,
Tobias