Textbereich

  • Hallo zusammen

    Ich bastle gerade an einer Homepage herum. Aber nun komm ich nicht weiter.
    Ich möchte viele lange Texte auf eine Seite bringen. Diese sollten aber nicht untereinander angeordnet sein.
    Ich habe mir gedacht, dass ich oben die Titel der Texte hinschreibe.
    Unten wäre dann ein grosser Textbereich. Wenn man jetzt einen Titel anklickt soll der unten in dem Textbereich erscheinen.
    Also eine Art Inlineframe, aber ebe ich will alles auf eine Seite kriegen, also der Quellcode soll nur auf einer Seite sein.

    Ist dies so möglich? Wäre es auch möglich das Textfeld je nach Text einem Hintergrund zuzuordnen, damit jeder Text ein anderes Hintergrundbild hat?
    Ich schreibe meine Homepage in HTML.

    Danke für eure Antworten.
    daddel

  • in html hast dann eben die möglichkeit mit iframes. wennst die nicht
    verwenden willst (und evlt sonst keine frames einsetzt) würd ich einfach
    für jeden text ne neue html-seite erstellen und die texte entsprechend ändern.

    die andere, einfachere möglichkeit wäre mittels php. also entweder die text
    in text-dateien auslagern und entsprechend einladen oder direkt via abfrage
    anzeigen assen...

  • Danke für deine Antwort.

    Ja eben, ich möchte verhindern, dass ich mehrere Seiten Quellcode habe. Deshalb geht das mit dem Frames nicht.

    Von php habe ich nicht viel ahnung. Ist dies schwer? Und wäre der Quellcode dann nur auf einer Seite oder benötigt man trotzdem für jeden Text eine neue Quellcode Seite?

    Lg daddel

  • je nachdem wie lang die text sind. du könntest entweder alles auf eine machen,
    dann kanns allerdings etwas unübersichtlich werden. du kannst auch jeden text
    in ne textdatei auslagern.. je nachdem wie dus willst...

    der besucher sieht dann zum schluss nur 1 seite mit dem aktuellen text und du
    verwaltetst nur eine php-seite

  • Ja, ich weiss, dass es unübersichtlich wird. Dies wäre aber kein grosses Problem.
    Wären dies dann .txt Dateien, die ich ein- und auslagern müsste?

    Kannst du mir vielleicht ein Beispiel des Codes aufschreiben oder kennst du eine Seite wo dies drinn steht? Weil ich hab echt keine Ahnung von php...

  • also erstmal muss die seite anders aufruf. also bei jedem menüpunkt nen anderen link
    hinterlegen - am besten entsprechend deiner text..
    - seite.php?text=hallo
    - seite.php?text=servus
    - seite.php?text=auto

    die seite.php selbst enthält dann deine texte.
    dort musst oben erstmal abfragen was du fürn text anzeigen lassen willst
    ganz ganz oben...

    PHP
    <?php
    $text = isset($_GET['text']) ? basename($_GET['text']) : 'hallo';
    ?>

    damit fängst du den übergebenen "text" ab - falls keiner übergeben wurde wird "hallo" gesetzt

    unten, wo dann die texte stehen kommt dies hin

    hier wird dann die hallo.txt-datei eingebunden in der dein text steht.
    allernativ kannste anstatt von include("hallo.txt"); auch den
    text direkt hinschreiben.


    (ungetestet)

  • Danke, aber ich komm nicht ganz nach.
    Kann ich deinen Text so in eine html Datei schreiben?

    Wieso enthält die seite.php meine Texte? Die sind doch hallo.txt, usw.

    Du hast geschrieben ganz ganz oben, heisst das im <head>?
    <?php
    $text = isset($_GET['text']) ? basename($_GET['text']) : 'hallo';
    ?>

    Bei:
    <?php
    switch ($text) {
    case "hallo":
    include("hallo.txt");
    break;
    case "auto":
    include("auto.txt");
    break;
    case "servus":
    include("servus.txt");
    break;
    }
    ?>
    Hier muss doch ein Signal kommen, entweder hallo, auto oder servus. Von wo kommt das Signal? Wie geb ich das Signal aus? Und wie definiere ich wo der Text dann angezeigt wird?

    daddel

  • Ok. Ich hab noch ein bisschen gegoogelt.
    Aber etwas versteh ich noch nicht.

    Bei:
    <?php
    switch ($text) {
    case "hallo":
    include("hallo.txt");
    break;
    case "auto":
    include("auto.txt");
    break;
    case "servus":
    include("servus.txt");
    break;
    }
    ?>

    Wenn es das Signal "hallo" bekommt, gibt es ja den Text "hallo.txt" aus.
    Aber von wo bekommt es das Signal "hallo"? Dies müsste ja ausgegeben werden wenn man auf einen Titel klickt oder? Und wie macht man, dass es dieses Signal ausgiebt?

    daddel

  • du musst deine text in textfile schreiben. also den text 1 halt dann in
    die hallo.txt. den text 2 in die auto.txt. er includiert dann diese datei.
    bindet also den inhalt der text-datei in die php-seite ein.

    dann darf die html-datei natürlich nimmer *.html heißen sondern muss
    *.php lauten.

    und mit ganz oben meine ich wirklich ganz oben. also vor doctype und <html>


    das signal kommt vom aufruf. du rufst praktisch die seite mit dem link auf und
    übergibst hinten das signal "hallo" (seite.php?text=hallo). in dem teil ganz oben
    wird dann dieses signal in die variable $text geschrieben. und unten wird geprüft
    was in der variable $text drin steht.

  • Ok, ich denke ich komm jetzt nach.
    Ist es auch möglich für jeden Text einen anderen Hintergrund zu haben? Und in die Texte Bilder zu integrieren?

  • möglich -> ja
    sinnvoll -> jein
    einbinden -> css

    im prinzip für jeden text ne eigene css-id/class erstellen mit nem background.

    z.b.

    PHP
    <?php
    echo "<div id=".$text.">";
    switch...
    ...
    ..}
    echo "</div>";
    ?>

    hier legst praktisch den text in einen div-container. diesem div-container weist
    du die id "hallo" oder "auto" zu. praktisch den gleichen namen deines übergabewerts.
    kannst natürlich auch jederzeit die id anders nennen, aber so ises am einfachsten
    und überschaubarsten.

    anschließend musst im css die ids noch definieren

    HTML
    #hallo { background-image:url(bild1.jpg); }
    #auto { background-image:url(bild2.jpg); }
    #servus { background-image:url(bild2.jpg); }

    da weist dann praktisch der id hallo des bild1 zu.
    evtl musst dann noch background-repeat einfügen, damit sich dies nicht wiederholt
    oder ein background-position - damit du die ausrichtung bestimmen kannst...