Anfänger-Frage: Zentralen HTML Textbaustein erstellen

  • Hallo liebes Forum,


    ich möchte gerne einen Textbaustein erstellen, der an verschiedenen Stellen und verschiedenen Websites durch einfaches Einbinden per HTML angezeigt werden soll.

    Muss ich hierzu eine Datei erstellen und auf meine Website hochladen? Wie binde ich diese dann per HTML ein?
    Ich möchte den Textbaustein bzw. die Datei zentral verändern, sodass diese dann auf den verschiedenen Websites automatisch angezeigt wird ohne immer jede Seite manuell zu updaten.


    Webspace ist vorhanden.


    Viele Grüße
    Martin

  • Eines vorneweg. HTML ist nicht in der Lage externe Dateien einzubinden.

    Es gibt zwei Vorgehensweisen die ich praktiziere. Zum ersten Offline, bei der Erstellung meiner Seite auf dem heimischen RaspberryPi. Ich nutze z.B. den HTML-Editor Phase5², welcher mit include-Dateien umgehen kann. Ich kann alles, was ich irgendwo, auch in eine HTML-Datei, einbinden möchte, in eine Extradatei, die die Dateiendung inc hat, schreiben. Im Quelltext der Seiten wird dann das Include eingebunden mittels eines Menüpunktes von Phase5².
    Das sieht dann im Quelltext der HTML oder sonstigen Datei in etwa so aus:

    Zitat

    <!--INC:"(c)von_bis.inc"-->2000-2017<!--/INC:"(c)von_bis.inc"-->

    Das fette ist der Name der Includedatei, der Rest der Inhalt, der eingebunden wird.
    Nachteil, ich muss bei jeder Änderung der HTML-Datei neu includieren und hochladen.

    Zweite vorgehensweise ist auf dem Server mittels PHP-Include. Das passiert dort dynamisch. Ich muss nur den Inhalt der sich ändert hochladen. Die ganze Anzahl von Dateien, die das anzeigen sollen, brauchen nicht geändert zu werden. Da es dann aber eben PHP ist, muss die Datei dann nicht HTML als Endung haben, sondern eben PHP oder PHTML. Auf alle Fälle eine Dateiendung, die von PHP geparst wird.

    Die zweite Variante nutze ich mit einem Menü, welches bei mir in 21 Dateien eingebunden ist. Ändert sich das Menü brauche ich nur eine einzige Datei zu ändern und alle 21 anderen zeigen das automatisch neu an.
    Im Quelltext der 21 Dateien steht an der entsprechenden Stelle:

    PHP
    <?php include 'menueauswahl.inc'; ?>

    Das Menü ist in der Datei mit Namen "menueauswahl.inc" enthalten. Nur diese brauche ich ändern.

    Hoffentlich hilft dir das weiter.
    MfG

    Gegen Mods kommt man nicht an, die haben immer Recht. Sind scheinbar nicht kritikfähig.

    Einmal editiert, zuletzt von Gastl (11. Januar 2017 um 15:08)

    • Offizieller Beitrag

    Hallo,

    Die zweite von Gastl genannte Variante ist die gängigste und lässt sich bereits als Grundlage für Templating betrachten.
    Wie schon rauszulesen ist, musst Du die Datei auf den Server laden ( an "zentrale" Stelle ) und in den entsprechenden Seiten an entsprechenden Stellen einbinden.
    Dabei ist es fast egal, ob die eingebundene Seite statisch ( HTML ) oder dynamisch ( bspw. PHP ) ist, jedoch unterscheidet sich die Methodik der Einbindung basierend darauf.

    Zum Einbinden selbst benötigst Du eine Server seitige Scriptsprache, wie bspw. PHP.
    Mit dieser kannst Du, wie bereits gesagt weitere dynamische PHP-Seiten über include() oder require() einbinden.

    Statische Seiten bindet man allerdings i.d.R. mit file_get_contents() ein, da bei einem include() oder require() der PHP-Parser davon ausgeht, die einbindende Seite verarbeiten zu müssen.
    Da dies nicht der Fall ist, verwendet man file_get_contents().

    Der Vollständigkeit halber sei noch erwähnt, dass es auch noch include_once() und require_once() gibt.

    Gruß Arne