{ } Variablen in HTML ??

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

  • { } Variablen in HTML ??

    Hallo,
    ich hab mal wieder ne Frage.
    Und ich werde später wahrscheinlich wieder rausfinden dass die Lösung einfach ist als die Frage selbst

    Hier ist sie:
    Kann man in HTML irgendwie Variablen definieren oder sie verwenden wenn sie in PHP definiert wurden?

    Warum die Frage:
    Ich habe als ich mal in den overall_ Dateien meines phpBB Forum's schaute, eine seltsame Entdeckung gemacht: Es waren "Variablen" im HTML-Code geschrieben, welche man vorher im Admin-Panel definiert hatte. Und da dachte ich mir mal wieder wie kann das funktionieren.

    Hier auch noch en Beispiel dazu:
    HTML-Code:
    <title>{SITENAME} &bull; <!-- IF S_IN_MCP -->{L_MCP} &bull; <!-- ELSEIF S_IN_UCP -->{L_UCP} &bull;
     <!-- ENDIF -->{PAGE_TITLE}</title>
    
    <!-- IF S_ENABLE_FEEDS -->
        <!-- IF S_ENABLE_FEEDS_OVERALL --><link rel="alternate" 
    type="application/atom+xml" title="{L_FEED} - {SITENAME}" href="{U_FEED}" /><!-- ENDIF -->
        <!-- IF S_ENABLE_FEEDS_NEWS --><link rel="alternate"
     type="application/atom+xml" title="{L_FEED} - {L_FEED_NEWS}" href="{U_FEED}?mode=news" />
    <!-- ENDIF -->
        <!-- IF S_ENABLE_FEEDS_FORUMS --><link rel="alternate" 
    type="application/atom+xml" title="{L_FEED} - {L_ALL_FORUMS}" href="{U_FEED}?mode=forums" /><!-- ENDIF -->
        <!-- IF S_ENABLE_FEEDS_TOPICS --><link rel="alternate" 
    type="application/atom+xml" title="{L_FEED} - {L_FEED_TOPICS_NEW}" href="{U_FEED}?mode=topics" /><!-- ENDIF -->
        <!-- IF S_ENABLE_FEEDS_TOPICS_ACTIVE -->
    <link rel="alternate" type="application/atom+xml" title="{L_FEED} - {L_FEED_TOPICS_ACTIVE}" href="{U_FEED}?mode=topics_active" /><!-- ENDIF -->
        <!-- IF S_ENABLE_FEEDS_FORUM and S_FORUM_ID -->
    <link rel="alternate" type="application/atom+xml" title="{L_FEED} - {L_FORUM} - {FORUM_NAME}" href="{U_FEED}?f={S_FORUM_ID}" />
    <!-- ENDIF -->
        <!-- IF S_ENABLE_FEEDS_TOPIC and S_TOPIC_ID -->
    <link rel="alternate" type="application/atom+xml" title="{L_FEED} - {L_TOPIC} - {TOPIC_TITLE}" 
    href="{U_FEED}?f={S_FORUM_ID}&amp;t={S_TOPIC_ID}" /><!-- ENDIF -->
    <!-- ENDIF -->
    
    .............................
    
    <!-- Ein paar Zeilen Code -->
    .............................
    
    <body id="phpbb" class="section-{SCRIPT_NAME} {S_CONTENT_DIRECTION}">
    
    <div id="wrap">
        <a id="top" name="top" accesskey="t"></a>
        <div id="page-header">
            <div class="headerbar">
                <div class="inner"><span class="corners-top"><span></span></span>
    
                <div id="site-description">
    
                    <a href="{U_INDEX}" title="{L_INDEX}" id="logo">{SITE_LOGO_IMG}</a>
                    <h1>{SITENAME}</h1>
                    <p>{SITE_DESCRIPTION}</p>
    
                    <p class="skiplink"><a href="#start_here">{L_SKIP}</a></p>
                </div>
    
            <!-- IF S_DISPLAY_SEARCH and not S_IN_SEARCH -->
                <div id="search-box">
                    <form action="{U_SEARCH}" method="post" id="search">
                    <fieldset>
                        <input name="keywords" id="keywords" type="text" 
    maxlength="128" title="{L_SEARCH_KEYWORDS}" class="inputbox search" value="
    
    <!-- IF SEARCH_WORDS-->{SEARCH_WORDS}
    <!-- ELSE -->{L_SEARCH_MINI}
    <!-- ENDIF -->" onclick="if(this.value=='{LA_SEARCH_MINI}')this.value='';" 
    onblur="if(this.value=='')this.value='{LA_SEARCH_MINI}';" />
                        <input class="button2" value="{L_SEARCH}" type="submit" />
    <br />
                        
    <a href="{U_SEARCH}" title="{L_SEARCH_ADV_EXPLAIN}">{L_SEARCH_ADV}</a> {S_SEARCH_HIDDEN_FIELDS}
                   
     </fieldset>
                    </form>
                </div>
            <!-- ENDIF -->
    
                <span class="corners-bottom"><span></span></span></div>
            </div>
    ......................... .. .. .. .. .. .. .. .. .. .. .. .
    So das müsste zur Verständlichung reichen.
    SuFu habe ich benutzt doch die Zeichen { und } hatte er ignoriert :/ .

    Danke im Vorraus
    Zuletzt geändert von timmy96; 08.09.2010, 00:07.
    ICH WILL EUCH NICHT ZUR LAST FALLEN......
    denn ich bin ein "Hobbyprogrammierer"

  • #2
    Code umbrechen, so dass man nicht meterweise querscrollen muss!

    Zur Frage: Das ist die Syntax irgendeiner Template-Engine.
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      Zitat von wahsaga Beitrag anzeigen
      Code umbrechen, so dass man nicht meterweise querscrollen muss!
      sry, hab ich glatt vergessen


      danke für die schnelle Antwort.
      auf das dass das ne template engine sein könnte wär ich zuletzt gekommen.
      ICH WILL EUCH NICHT ZUR LAST FALLEN......
      denn ich bin ein "Hobbyprogrammierer"

      Kommentar


      • #4
        Falls du tatsächlich mehr darüber wissen möchtest wie das funktioniert, kann ich dir einen Artikel empfehlen: Die eigene Template-Engine (Teil 1) | not null
        Der hat insgesamt drei Teile und ist meiner Meinung nach nicht zu technisch geschrieben sondern erklärt das grundlegende Prinzip relativ gut und so kurz, dass man nicht ewig lesen muss ;-)
        not null blog - a developer's worries & solutions

        Kommentar


        • #5
          Zitat von reok Beitrag anzeigen
          Falls du tatsächlich mehr darüber wissen möchtest wie das funktioniert, kann ich dir einen Artikel empfehlen: Die eigene Template-Engine (Teil 1) | not null
          Der hat insgesamt drei Teile und ist meiner Meinung nach nicht zu technisch geschrieben sondern erklärt das grundlegende Prinzip relativ gut und so kurz, dass man nicht ewig lesen muss ;-)

          cool danke werde ich mir mal bei gelegnheit anschauen....

          könnte nützlich für mich werden xD
          ICH WILL EUCH NICHT ZUR LAST FALLEN......
          denn ich bin ein "Hobbyprogrammierer"

          Kommentar


          • #6
            PHP-Code:
            <?php
            error_reporting
            (-1);
            ini_set('display_errors'TRUE); 


            function 
            template($string,$array)
            {
              
            $pattern '/{([^}]*)}/ie';
              
            $eval    'isset($array["$1"])?$array["$1"]:"$0"';
              return 
            preg_replace($pattern,$eval,$string);
            }

            $string "Ein {Tier} sprang über {Hindernis} </br>";

            $var = array();

            $var['Tier']      = 'Hund';
            $var['Hindernis'] = 'den Graben';
            echo 
            template($string,$var) ;

            $var['Tier']      = 'Pferd';
            $var['Hindernis'] = 'das Gatter';
            echo 
            template($string,$var) ;
            ?>

            Und, es gibt auch noch andere Sichten auf die Dinge:
            Templateengines: Warum diese nicht glücklich machen
            Zuletzt geändert von combie; 20.09.2010, 05:31.
            Wir werden alle sterben

            Kommentar


            • #7
              PHP ist auch eine Templateengine. PHP-Templates sind in nahezu jedem Fall die bessere Wahl. Dennoch ärgere ich mich jedes Mal über Teile des "Warum Template Engines nicht glücklich machen"-Artikels.

              "Standardantwort" zu Bastian Frank:

              Die Anmerkungen zum Sinn und Unsinn des Nachbaus einer Programmiersprache durch eine zusätzliche Templateengine sind sicherlich lesenswert und richtig und eventuell augenöffnend, nur zum Schluss des Artikels hin werden mehr und mehr Äpfel und Birnen verglichen und wichtige Aspekte nicht erwähnt.

              Der "Über den Tellerrand"-Abschnitt ergibt im Prinzip keinen Sinn, da er von spekulativen Annahmen ausgeht. Gleiches gilt generell für die Darstellung von MVC als "Alternativentwurf" zu Nicht-PHP-Templateengines. Ein MVC-Entwurf mit PHP-View-Scripts ist strukturell identisch zu einem MVC-Entwurf, der in den View-Scripts nicht auf PHP setzt. (Wobei fairerweise gesagt werden muss, dass die meisten Nutzer von Templateengines wohl nicht diejenigen sind, die MVC programmieren.)

              Das hauptsächliche Argument für Templateengines besteht darin, die View-Scripts frei von beliebigem ausführbarem Code halten zu können, also eine Sandbox-Umgebung zu schaffen, die die Funktionsweise des Backends nicht beeinträchtigt. Ein Beispiel, in welchen Bereichen das vorteilhaft sein kann, wäre das Anpassen von View-Scripts durch den Seiten-Administrator in einem CMS.

              Nicht-PHP-Templates sollten wenn überhaupt als nutzerorientiert angesehen werden, Entwicklern sollte man zutrauen können, mit PHP-Templates umzugehen.

              Kommentar


              • #8
                @ mermshouse


                also ist so ne templatenegine nur zur übersicht oder für ein cms/benutzereingaben geeignet??
                ICH WILL EUCH NICHT ZUR LAST FALLEN......
                denn ich bin ein "Hobbyprogrammierer"

                Kommentar

                Lädt...
                X