Ankündigung

Einklappen
Keine Ankündigung bisher.

html Datei in allen Seiten inkludieren

Einklappen

Neue Werbung 2019

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

  • WilhelmBurkard
    hat ein Thema erstellt html Datei in allen Seiten inkludieren.

    html Datei in allen Seiten inkludieren

    Guten Mittag zusammen,

    im PHP gibt es ja die Möglichkeit per
    PHP-Code:
    <?php include("seite.php"); ?>
    eine Seite an einer bestimmten Stelle einzufügen. Gibt es diese Möglichkeit auch im HTML? Sodass ich eine "seite.html" in alle anderen Seiten mit einem einzigen Code integrieren kann, sodass ich lediglich die "seite.html" ändern muss und in allen Seiten der Inhalt dann geändert wird.. möchte nicht in allen 100 Html Seiten jedes Mal alles ändern müssen

    Danke für eure Hilfe im Voraus.. LG Wilhelm

  • phpuser-2021
    antwortet
    Moin, tomBuilder,

    ich benutze jekyll nicht mit GitHub. Das ist natürlich eine tolle Möglichkeit eine Website komplett kostenlos aufzusetzen. Aber obwohl ich sparsam bin (nicht geizig! ), habe ich für meine beiden Projekte entsprechende Domains registriert.

    Symphony sieht interessant aus. Kommt aber für mich nicht infrage. Ich will alles offline haben und editieren können. Wenn ich es dann gut genug finde, lade ich es hoch. Hat alles seine Vor- und Nachteile. Wenn man direkt auf dem Server editiert geht das natürlich deutlich schneller und ist weniger arbeitsaufwändig. Aber ich habe da so meine eigenen Vorstellungen. Vor allen Dingen kann ich meine Arbeit offline komplett sichern und im Worstcase auf einen beliebigen Webserver hochladen und alles ist wieder, wie es vorher war. Aber jeder wie er mag …

    Den Routeransatz werde ich mir bei Bedarf mal genauer ansehen. Das klingt für die Zukunft sehr interessant. Aber solange ich mit meinen includes noch parat komme, werde ich wie bisher weiterarbeiten.

    Das es template engines für php gibt, wusste ich gar nicht. Die werde ich mir auf jeden Fall näher anschauen. Aber auch, wenn der Code wahrscheinlich einfach ist. Momentan (noch) zu hoch für mich. Bin gerade erst bei den Grundlagen von php und froh, wenn ich ein mehrdimensionales Array hinbekomme.

    Auf jeden Fall danke für die Hinweise!

    Einen Kommentar schreiben:


  • tomBuilder
    antwortet
    moin phpuser-2021 ,

    jekyll ist nicht umsonst der generator für github pages.
    ich finde static site generatoren auch wesentlich sinnvoller als sich irgendein fettes cms - meistens leider wordpress - zu installieren, wenn man zwei seiten bauen will.

    und ja es gibt hevorganende cms systeme ich finde
    https://www.getsymphony.com/
    nach wie vor geeignet zum anfagen.

    um den "routeransatz" mal von einer anderen, leichteren seite zu beleuchten:
    https://backbonejs.org/#Routing

    für wieder kehrende html elemente nutzt man sinnvollerweise eine template engine um den view zu rendern .

    https://php-de.github.io/jumpto/template-engine/

    Einen Kommentar schreiben:


  • phpuser-2021
    antwortet
    das wilde includieren nutzen wohl die meisten anfangs - ich auch.

    es wird nur bald unübersichtlich und schwer wartbar, zudem ist es einfach nicht felxilbel.
    Mein zweites Website-Projekt schreibe ich in PHP, weil ich diesmal eine dynamische Website erstellen wollte, mit all den Möglichkeiten die eine dynamische im Gegensatz zu einer statischen (mein erstes Projekt) bietet.
    Der include Befehl ist großartig und erspart einem unendlich viel Arbeit. Das ist (unter anderem) das, was ich bei reinem HTML/CSS vermisst habe.
    Noch ist es bei mir übersichtlich und wartbar. Aber egal wie man es handhabt. Wird die Website größer, wird sie egal mit welcher Technik unübersichtlicher und schwerer wartbar.

    Dein „Routeransatz“ ist bestimmt interessant. Aber als PHP Anfänger sieht das (jedenfalls für mich) komplex aus.

    Wer wie Wilhelm wiederkehrende HTML Elemente in verschiedenen Webseiten includieren möchte, sollte sein Projekt von Anfang an in PHP schreiben oder ein Content-Management-System benutzen.
    Und ich meine nicht das allseits bekannte WordPress Monster. Es gibt viele wunderbare Static-Site-Generatoren, die einem auch sehr viel Arbeit abnehmen können. Freilich, etwas Einarbeitung erfordern die auch.
    Aber man bleibt damit flexibel. Ich arbeite nach wie vor sehr gerne mit Jekyll. Das ist aus meiner Sicht der Einsteiger-freundlichste Static-Site-Generator.

    Einen Kommentar schreiben:


  • tomBuilder
    antwortet
    doppelpost

    Einen Kommentar schreiben:


  • tomBuilder
    antwortet
    google.com/search?q=php+router+library

    das wilde includieren nutzen wohl die meisten anfangs - ich auch.

    es wird nur bald unübersichtlich und schwer wartbar, zudem ist es einfach nicht felxilbel.

    ein router functiniert einfach:

    die anfrage wird auf "/" (oder ein andres routverzeichniss) weitergeleitet.

    an diesem zentralen einsteigpunkt entscheidet ein process welche routine(n) aufgerufen werden müssen um deoi entsprechende seite zu präsentieren.

    sorry schiftlich erklären kann ich so gar nicht .

    link?


    https://en.wikipedia.org/wiki/Front_controller

    Einen Kommentar schreiben:


  • Paderman
    antwortet
    Zitat von tomBuilder Beitrag anzeigen
    nutze doch einfach einen router wie fastroute
    Hättest du ein Beispiel oder weitere Infos?
    Ich muss gestehen dass ich dies noch nicht kenne

    Einen Kommentar schreiben:


  • tomBuilder
    antwortet
    nutze doch einfach einen router wie fastroute

    Einen Kommentar schreiben:


  • Paderman
    antwortet
    Auch wenn es inzwischen über ein Jahr her ist, wäre die Frage, ob das "Problem" inzwischen gelöst wurde?

    Man könnte einiges mit PHP machen. zum Beispiel mit
    PHP-Code:
    <?php
    switch($_SERVER['QUERY_STRING'])
    {
     case 
    'beispiel1': print 'Beispiel 1'; break;
     case 
    'beispiel2': print 'Beispiel 2'; break;
     case 
    'beispiel3': print 'Beispiel 3'; break;
     default: print 
    'Anderes Beispiel'; break;
    }
    ?>
    Aufrufbar mit /?beispiel1 oder
    PHP-Code:
    <?php
    switch($_GET['seite'])
    {
     case 
    'beispiel1': print 'Beispiel 1'; break;
     case 
    'beispiel2': print 'Beispiel 2'; break;
     case 
    'beispiel3': print 'Beispiel 3'; break;
     default: print 
    'Anderes Beispiel'; break;
    }
    ?>
    Aufrufbar mit /?seite=beispiel1
    print kann natürlich mit include() ersetzt werden, wenn PHP-Dateien eingebunden werden sollen

    Beispiel ohne das HTML-Gerüst
    PHP-Code:
    <?php
    switch($_GET['seite'])
    {
     case 
    'home': include 'start.php'; break;
     case 
    'kontakt': include 'kontakt.php'; break;
     case 
    'impressum': include 'impressum.php'; break;
     default: include 
    'start.php'; break;
    }
    ?>
    Server Side Includes Variante

    Natürlich könnte man auch SSI (Server Side Includes) statt PHP verwenden, wenn nichts mit PHP gemacht wird.
    Der Webserver muss SSI noch unterstützen, in der Regel ist bei dem Apache Webserver SSI vorhanden

    Dies muss in der .htaccess rein
    Code:
    Options +ExecCGI -Indexes +Includes
    AddType text/html .shtml
    AddOutputFilter INCLUDES .shtml
    DirectoryIndex index.shtml
    XBitHack on
    Hier ein Beispiel (index.shtml)
    Hinweis: alle *.shtml-Dateien müssen ausführbar gemacht werden, sonst wird nichts ausgeführt.
    HTML-Code:
    <!--#if expr='v("QUERY_STRING") = "beispielseite"' -->
    <!--#include virtual="beispielseite.shtml" -->
    
    <!--#elif expr='v("QUERY_STRING") = "impressum"' -->
    <!--#include virtual="impressum.shtml" -->
    <!--#else-->
    
    <!--#include virtual="start.shtml" -->
    <!--#endif -->
    Aufrufbar mit ?beispielseite oder ?impressum
    Wenn kein Parameter angegeben wurde, dann wird die start.shtml aufgerufen.

    ASP-Variante

    Voraussetzung: Internet Informations Dienste

    Beispiel: index.aspx
    Visual Basic Script
    , getestet mit IIS 10
    HTML-Code:
    <% session("seite") = request.querystring("seite") %>
    <%if (session("seite") = "beispielseite") then %>
    <!--#include file="beispielseite.aspx"-->
    <%else if (session("seite") = "impressum") then %>
    <!--#include file="impressum.aspx"-->
    <% else %>
    <!--#include file="start.aspx"-->
    <% end if %>
    Aufrufbar mit ?seite=beispielseite oder ?seite=impressum
    Wenn kein Parameter angegeben wurde, dann wird die start.aspx aufgerufen.

    Einen Kommentar schreiben:


  • hellbringer
    antwortet
    Zitat von WilhelmBurkard Beitrag anzeigen
    kann ich auch einfach den Befehl

    PHP-Code:
    <?php include("seite.php"); ?>
    in jeder html Seite einbinden und dann alle HTML Seiten von xy.html in xy.php umbenennen?
    Warum probierst du es nicht einfach aus?

    Einen Kommentar schreiben:


  • WilhelmBurkard
    antwortet
    kann ich auch einfach den Befehl

    PHP-Code:
    <?php include("seite.php"); ?>
    in jeder html Seite einbinden und dann alle HTML Seiten von xy.html in xy.php umbenennen?

    LG Wilhelm

    Einen Kommentar schreiben:


  • zorro001
    antwortet
    WilhelmBurkard bevor man etwas schreibt, sollte man #3 ausprobieren, von Header war in #1 keine Rede.

    Einen Kommentar schreiben:


  • WilhelmBurkard
    antwortet
    Danke Zorro, nur leider wird bei deiner Variante der Inhalt als Frame eingebunden.. ich möchte z.B. den header einmalig schreiben und per include überall einbinden.. das geht dann so nicht mit frame.

    Einen Kommentar schreiben:


  • WilhelmBurkard
    antwortet
    kann ich auch einfach den Befehl
    PHP-Code:
    <?php include("seite.php"); ?>
    in jeder html Seite einbinden und dann alle HTML Seiten von xy.html in xy.php umbenennen?

    LG Wilhelm

    Einen Kommentar schreiben:


  • zorro001
    antwortet
    HTML-Code:
    <!DOCTYPE html>
    <html lang=de>
      <meta charset=UTF-8>
      <title>Document</title>
     <h1>Test</h1>
      <iframe src=myinclude.htm onload="this.before((this.contentDocument.body||this.contentDocument).children[0]);this.remove()"></iframe>
     <p>voila</p>
    myinclude.htm:
    HTML-Code:
    <h2>ich bin importiert!!</h2>

    Einen Kommentar schreiben:

Lädt...
X