Ankündigung

Einklappen
Keine Ankündigung bisher.

HTML-Code auslagern

Einklappen

Neue Werbung 2019

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

  • HTML-Code auslagern

    Hallo, ich habe in einer Webseite Popups, die erscheinen, wenn auf verschiedenen Links geklickt wird; sprich, bis auf den Text und id's identisch aussehende HTML-Fragmente:

    HTML-Code:
    ...
    <div class="popup-wrapper" id="popup-1">
        <div class="popup-title" id="popup-title-1"></div>
        <div class="popup-content" id="popup-content-1">Inhalt Popup 1</div>
    </div>
    
    <div class="popup-wrapper" id="popup-2">
        <div class="popup-title" id="popup-title-2"></div>
        <div class="popup-content" id="popup-content-2">Inhalt Popup 2</div>
    </div>
    
    <div class="popup-wrapper" id="popup-3">
        <div class="popup-title" id="popup-title-3"></div>
        <div class="popup-content" id="popup-content-3">Inhalt Popup 3</div>
    </div>
    ...
    Der obige Code stellt vereinfacht den Sachverhalt dar. Ich habe mehrere fast identische DIV-Fragmente. Nun überlege ich ob es sinnvoll (und gängige Praxis) ist diese irgendwie auszulagern, damit ich sie nicht immer neu tippen muss. Per PHP erscheint mir das fast eine Art "overkill" zu sein... Meine Idee war jedoch, dass ich versuche, das über eine JS-Funktion zu lösen und die verschiedenartigen Dinge im Konstruktor mitzugeben. Wie steht ihr dazu? Anbei noch eine Frage: Ich sehe oftmals, dass versucht wird HTML serverseitig und manchmal clientseitig (z.B. AngularJS) zu erzeugen. Gibt es da irgendeine Richtlinie für welche Fälle man das jeweilig machen sollte?

  • #2
    Gibt es da irgendeine Richtlinie für welche Fälle man das jeweilig machen sollte?
    Wenn du WAI-ARIA einhalten mußt (z.B. bei Behörden, etc.).

    Kommentar


    • #3
      Diese Frage lässt sich mit diesen Infos rein gar nicht beantworten. Was für eine Zielsetzung hat Dein Projekt? Gibt es vielleicht eine andere Herangehensweise, die das Problem obsolet macht? Warum ist PHP Overkill? Warum mit Javascript? ...

      Kommentar


      • #4
        Das scheint mir ein Fall für Templates zu sein. Systeme dafür sind zahlreich verfügbar. Das folgende Beispiel ist etwas Eigenwerbung für TinyTemplate.

        File popup.tpl:
        HTML-Code:
        <div class="popup-wrapper" id="popup-{{id}}">
            <div class="popup-title" id="popup-title-{{id}}"></div>
            <div class="popup-content" id="popup-content-{{id}}">{{content}}</div>
        </div>
        PHP-Code:
        $tpl = new TinyTemplate("popup.tpl");

        $params = array(
          
        'popup1' => array('id' => 1'content' => "popup-content-1"),
          
        'popup2' => array('id' => 2'content' => "popup-content-2"),
          
        'popup3' => array('id' => 3'content' => "popup-content-3"),
        );

        $out $tpl
          
        ->assign($params['popup2'])
          ->
        renderCode();

        echo 
        $out;  //popup-content-2 

        Kommentar


        • #5
          Zitat von engineer Beitrag anzeigen
          Hallo, ich habe in einer Webseite Popups, die erscheinen, wenn auf verschiedenen Links geklickt wird; sprich, bis auf den Text und id's identisch aussehende HTML-Fragmente:


          Der obige Code stellt vereinfacht den Sachverhalt dar. Ich habe mehrere fast identische DIV-Fragmente. Nun überlege ich ob es sinnvoll (und gängige Praxis) ist diese irgendwie auszulagern, damit ich sie nicht immer neu tippen muss.
          Das ist sogar absolut sinnvoll.

          Stichwort sind hier Web Components - abgebildet als Klassen, deren Markup, Styles und Logik gekapselt sind. Ein Beispiel dafür wären Formulare, die auf mehreren Seiten erscheinen, aber mit unterschiedlichem Content (Registration / Login) befüllt werden.

          Schau dir mal Angular 2 an.

          Kommentar

          Lädt...
          X