werbeklaus: Missachtung der Position im Quelltext

Hallo,
ich möchte gerne eine kleine div-box, deren Inhalt aus Gründen der Generierungsreihenfolge erst am Ende des PHP-Skriptes zur Verfügung steht.
Ich wollte jetzt fragen, wie ich es am Besten anstelle, wenn ich die Box jedoch nicht am Ende der Ausgabe im Browser haben möchte.
Der Inhalt der Seite ist unterschiedlich lang und ich möchte die Box gerne unterhalb des Menüs, das links steht, anzeigen.

Wisst ihr eine geeignete Methode, die Box zu positionieren (also zB relativ zum <ul> des Menüs),
oder den Inhalt erst am Ende des Skriptes in den Platzhalter zu füllen
oder ganz neue Lösungsansätze?

Danke für Hilfe,
werbeklaus

  1. hi,

    ich möchte gerne eine kleine div-box, deren Inhalt aus Gründen der Generierungsreihenfolge erst am Ende des PHP-Skriptes zur Verfügung steht.

    Das muss ja noch lange nichts darüber aussagen, wo sie später im HTML-Quellcode, den du an den Browser sendest, stehen wird.

    Eingabe - Verarbeitung - Ausgabe

    Ich wollte jetzt fragen, wie ich es am Besten anstelle, wenn ich die Box jedoch nicht am Ende der Ausgabe im Browser haben möchte.

    Dann gibst du sich vorher aus - wenn sie von ihrem Inhalt und seiner Wichtigkeit her weiter vorne stehen sollte.

    Die wichtige Reihenfolge von Webinhalten

    oder den Inhalt erst am Ende des Skriptes in den Platzhalter zu füllen oder ganz neue Lösungsansätze?

    Beschäftige dich mit dem EVA-Prinzip, und handle entsprechend.

    gruß,
    wahsaga

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }
    1. Hallo,

      Eingabe - Verarbeitung - Ausgabe

      Ich habe PHP von Ausgabe schon strikt getrennt (mit Smarty-Templates). Leider nur entstehen die Daten in diesem Kasten sogar erst _nach_ dieser Ausgabe.
      Ich wollte gerne die Dauer der Generierung der Seite dezent an das Ende der Homepage setzen [1], bis ich dachte: Unter dem Menü ist noch schön Platz, dort könnte es hin.
      Nur wenn ich diese Zeit zu früh berechne, stimmt es natürlich nicht, und diese Abweichung ist sogar erstaunlich hoch.
      Drum eben meine Frage, ob ich diese Zahl im Nachhinein in einen solchen Kasten setzen kann oder eben den Kasten an dem Menü (als ul) orientiert positionieren kann.

      -----

      Vor dem Abschicken habe ich gerade noch die Beispielseite zu deinem Link studiert und festgestellt, dass es dort nur böglich ist, den Nebeninhalt direkt unter der Navigation zu platzieren, weil er im Quelltext direkt nach ihr definiert ist, was wiederum nur am Ende der HTML-Datei ist, weil die Navigation _rechts_ auf der Seite ist. Also auch keine Lösung.

      werbeklaus

      [1] Wenn ihr meint, die Zeit interessiere keinen, möchte ich euch bitten, mit dieser Mitteilung eine Hilfe für das Problem nicht ersetzen zu wollen.
      Ich habe mich entschieden, diese Zeit anzuzeigen, und möchte sie als Art Kompromiss klein dezent an einem ansonsten eh freien Platz der Homepage einzublenden.

      1. hi,

        Ich wollte gerne die Dauer der Generierung der Seite dezent an das Ende der Homepage setzen

        OK, wenn es wirklich nur im eine "Info" dieser subterrestrischen Wichtigkeitsordnung geht, dann ist die wohl wirklich am besten "am Schluss" des Quelltextes platziert, -

        [1], bis ich dachte: Unter dem Menü ist noch schön Platz, dort könnte es hin.

        • optisch wäre sie m.E. aber auch allerhöchstens am Ende der Seitendarstellung duldbar.

        Nur wenn ich diese Zeit zu früh berechne, stimmt es natürlich nicht, und diese Abweichung ist sogar erstaunlich hoch.
        Drum eben meine Frage, ob ich diese Zahl im Nachhinein in einen solchen Kasten setzen kann

        Klar, du könntest die Ausgabe zunächst mal per Output Buffering einfangen, und dann einen Platzhalter darin durch deine gemessene Zeit ersetzen. Da das aber auch wiederum Zeit kostet, wäre deine Zeitangabe damit auch wieder nur mehr schlecht als recht erlogen.
        Da könntest du vermutlich besser gleich rand(), auf einen gewissen plausibel klingenden Bereich beschränkt, an der "richtigen" Stelle in deiner Ausgabe-Verarbeitung nutzen ...

        oder eben den Kasten an dem Menü (als ul) orientiert positionieren kann.

        Wenn du exakt weißt, wie hoch dein Menü (und das, was ggf. noch darüber liegt) ist, dann ja: Nutze absolute Positionierung mit entsprechendem Wert für top.

        Wenn du das nicht absolut sicher wissen kannt - dann könntest du Javascript zu Hilfe nehmen.
        Entweder Position ermitteln und über das style-Objekt setzen - oder das Element per DOM-Methoden vom Ende des Quellcodes entfernen und anderswo wieder einhängen.

        Wenn ihr meint, die Zeit interessiere keinen, möchte ich euch bitten, mit dieser Mitteilung eine Hilfe für das Problem nicht ersetzen zu wollen.
        Ich habe mich entschieden, diese Zeit anzuzeigen, und möchte sie als Art Kompromiss klein dezent an einem ansonsten eh freien Platz der Homepage einzublenden.

        Na wenigstens hast du den Ansatz eines Verdachts, dass die Bedeutung dieser Info für den größten Teil deiner Besucher weit hinter dem der Nachricht über den in China umgefallenen Sack Reis rangiert.

        Wenn dich persönlich als Seiteninhaber und Scriptersteller diese Info wirklich interessiert - dann wäre es eigentlich egal, wo auf der Seite sie steht, und ob sie überhaupt drauf steht - zu statistischen Zwecken könntest du sie ja auch anderswo mitloggen und zu einem späteren Zeitpunkt auswerten (das wäre dann auch um einiges aussagekräftiger, als so wie geplant, wo du das Messergebnis bei Seitenaufrufen durch Besucher ja gar nicht mitbekommst).

        Falls du diese Info aber nur dort anzeigen willst, weil dir deine Seite sonst so "leer" erscheint - dann kümmere dich lieber um "echte" Inhalte.

        gruß,
        wahsaga

        --
        /voodoo.css:
        #GeorgeWBush { position:absolute; bottom:-6ft; }
        1. Hallo,

          OK, wenn es wirklich nur im eine "Info" dieser subterrestrischen Wichtigkeitsordnung geht,

          ...

          • optisch wäre sie m.E. aber auch allerhöchstens am Ende der Seitendarstellung duldbar.

          ...

          Da könntest du vermutlich besser gleich rand(), auf einen gewissen plausibel klingenden Bereich beschränkt, an der "richtigen" Stelle in deiner Ausgabe-Verarbeitung nutzen ...

          ...

          Na wenigstens hast du den Ansatz eines Verdachts, dass die Bedeutung dieser Info für den größten Teil deiner Besucher weit hinter dem der Nachricht über den in China umgefallenen Sack Reis rangiert.

          ...

          Falls du diese Info aber nur dort anzeigen willst, weil dir deine Seite sonst so "leer" erscheint - dann kümmere dich lieber um "echte" Inhalte.

          Okay, ich verstehe. Mal schauen, ob dann nicht noch darüber was wichtigeres kommt :-)

          Wenn du exakt weißt, wie hoch dein Menü (und das, was ggf. noch darüber liegt) ist, dann ja: Nutze absolute Positionierung mit entsprechendem Wert für top.

          Klar! Ich habe nur daran gedacht, das div mit position:relative nach oben zu rutschen, was ja nicht geht, da der content rechts, der die "Normalposition" des divs bestimmt, unterschiedlich groß ist.
          An "absolute" habe ich irgendwie nicht gedacht.

          Wenn du das nicht absolut sicher wissen kannt - dann könntest du Javascript zu Hilfe nehmen.
          Entweder Position ermitteln und über das style-Objekt setzen - oder das Element per DOM-Methoden vom Ende des Quellcodes entfernen und anderswo wieder einhängen.

          Nein, danke. Die Seite soll auch ohne Javascript zugägnlich sein !

          Wenn dich persönlich als Seiteninhaber und Scriptersteller diese Info wirklich interessiert - dann wäre es eigentlich egal, wo auf der Seite sie steht, und ob sie überhaupt drauf steht - zu statistischen Zwecken könntest du sie ja auch anderswo mitloggen und zu einem späteren Zeitpunkt auswerten (das wäre dann auch um einiges aussagekräftiger, als so wie geplant, wo du das Messergebnis bei Seitenaufrufen durch Besucher ja gar nicht mitbekommst).

          Das werde ich, denke ich, noch zusätzlich machen :-)

          werbeklaus

          PS: Mir gefällt, wie vielen anderen wahrscheinlich auch, der Disclaimer deiner Seite sehr. Stört es dich, wenn man sich an ihn anlehnt?

          1. hi,

            PS: Mir gefällt, wie vielen anderen wahrscheinlich auch, der Disclaimer deiner Seite sehr. Stört es dich, wenn man sich an ihn anlehnt?

            So lange man ihn dabei nicht umwirft ...

            Kopien größerer Passagen würde ich nicht gutheißen - aber die Tendenz der Aussage mit eigenen Worten nachzubilden, sollte ja möglich sein.

            gruß,
            wahsaga

            --
            /voodoo.css:
            #GeorgeWBush { position:absolute; bottom:-6ft; }
            1. Hallo,

              PS: Mir gefällt, wie vielen anderen wahrscheinlich auch, der Disclaimer deiner Seite sehr. Stört es dich, wenn man sich an ihn anlehnt?

              So lange man ihn dabei nicht umwirft ...

              Ich mag Flachwitze auch.

              Kopien größerer Passagen würde ich nicht gutheißen - aber die Tendenz der Aussage mit eigenen Worten nachzubilden, sollte ja möglich sein.

              Verständlich. Ich habe ihn nur kurz "nacherzählt" und sogar ein
              "Die Idee dieses Disclaimers basiert auf wazgnuks.net"
              darunter gesetzt.

              werbeklaus