variable in template wird geschluckt

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • variable in template wird geschluckt

    guten morgen zusammen,

    im folgenden template wird alles, was innerhalb der php-klammern steht verschluckt. hat jemand eine idee, woran das liegen könnte?
    --- es wird nur $umsSystem gekillt, alles andere bleibt da ---


    wäre echt für jeden tipp dankbar!
    gruss
    b.

    template:
    PHP-Code:
    <table width="600" border="0" cellspacing="0" cellpadding="1" height="50">
      <tr> 
        <td width="80">$ArtNr</td>
        <td width="200">$Titel $TopTip</td>
        <td width="162">$Serie</td>
        <?if ($umsSystem->level > 3){ ?>
        <td bgcolor="#CCCC99" width="40">$PreisDVD</td>
        <td bgcolor="#CCCC99" width="40">$PreisVHS</td>
        <? }else{}?>
        <td><a href="$ShowLink" target="_parent">ansehen</a></td>
      </tr>
    </table>
    ausgabeseite:
    PHP-Code:
    <table width="600" border="0" cellspacing="0" cellpadding="1" height="50">
      <tr> 
        <td width="80">VHS-0245</td>
        <td width="200">Testeintrag(TopTip) </td>
        <td width="162">Genre: Action</td>
        <?if ( > 3){ ?>
        <td bgcolor="#CCCC99" width="40">35</td>
        <td bgcolor="#CCCC99" width="40">25</td>
        <? }else{}?>
        <td><a href="xxx" target="_parent">ansehen</a></td>
      </tr>
    </table>
    Zuletzt geändert von bastian; 17.09.2003, 10:02.

  • #2
    schätzungsweise von deinem Templateparser

    solange aber keiner weiß, welchen du verwendest/wie das ding parst, kann dir so wahrscheinlich keiner helfen!

    es dürfte aber daran liegen, dass er nicht zwischen PHP und nicht-PHP Code unterscheiden kann!

    so, nun mal was zur erklärung:
    was du da gemacht hast, entspricht nicht mehr dem Sinn von templatesystemen! Layout soll von Programmlogik getrennt sein, mit deiner If-Abfrage im Layout wirfst du das konzept wieder über den haufen, nimm das da raus und bearbeite das im teil der Programmlogik (PHP-Teil)

    gruss

    Kommentar


    • #3
      morgen MoRtAlAn,
      hast recht, php und layout zusammen verfehlen den sinn des templates,
      weiss aber nicht wie ich den entsprechenden teil im php ändern kann.

      danke jedenfalls für deine antwort, hat mir schon weitergeholfen.


      gruss
      bastian

      Kommentar


      • #4
        Original von MoRtAlAn
        es dürfte aber daran liegen, dass er nicht zwischen PHP und nicht-PHP Code unterscheiden kann!
        Das System kann nicht zwischen PHP- und Nicht-PHP-Variablen unterscheiden.

        Die Variablennamen deines Template-Systems beginnen genau wie PHP-Variablen mit $.
        Da der Parser die Variable $umsSystem nicht kennt, wird sie durch einen Leerstring ersetzt.
        Zwei Möglichkeiten: Die kurzfristig einfachste ist wohl, die unbekannte Variable für das Template zu definieren.
        Am besten baust du aber das System so um, dass es mit Variablennamen in einem dieser Formate arbeitet: {variablenname} oder $$variablenname oder $variablenname$.
        mein Sport: mein Frühstück: meine Arbeit:

        Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

        Kommentar


        • #5
          hi titus,
          das klingt nach einem hoffnungsschimmer für php-legasteniker wie mich
          soll das heissen, das ich im skript die $variable=$umsSystem so definiere und im template dann damit arbeiten kann?

          gruss
          b.

          Kommentar


          • #6
            Im Prinzip ja; kommt halt drauf an, wie du die Variablen deinem TplSys bekannt machst.
            mein Sport: mein Frühstück: meine Arbeit:

            Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

            Kommentar


            • #7
              sorry, weiss dass das bestimmt eher langweilig für dich ist...

              also: wenn ich im skript.php sage das $umsvar=$umsSystem ist,
              dann sollte diese variable doch bekannt sein.
              klappt aber nicht, var wird trotzdem geschluckt.

              wie funktioniert das (syntax) mit {variable}?

              gruss
              b.

              Kommentar


              • #8
                Wenn du die Variable dem Tamplate-System als $umsvar bekannt machst, dann musst du eben auch im Template $umsvar statt $umsSystem schreiben.
                mein Sport: mein Frühstück: meine Arbeit:

                Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

                Kommentar

                Lädt...
                X