1. Herzlich willkommen bei WPDE.org, dem grössten und ältesten deutschsprachigen Community-Forum rund um das Thema WordPress. Du musst angemeldet oder registriert sein, um Beiträge verfassen zu können.
    Information ausblenden

statische Seite mit PHP stört Sidebar

Dieses Thema im Forum "Konfiguration" wurde erstellt von diltigug, 21. Juli 2008.

  1. diltigug

    diltigug Well-Known Member

    Registriert seit:
    20. Juli 2006
    Beiträge:
    279
    Zustimmungen:
    0
    Hallo,

    ich habe eine statische Seite erstellt, in die ich per php eine Tabelle aus einer externe DB einlese, was auch soweit gut funktioniert. Bis auf das die Sidebarwidgets teilweise ausgeblendet werden. Nur auf der statischen Seite, ansonsten wird die Sidebar im Blog korrekt angezeigt.

    Leider kann ich keinen Link angeben, weil der Blog nicht öffentlich ist.
    Ich hänge mal zwei Screenshots mit Soll- und Ist-Zustand der Sidebar.

    Vielleicht kann mir trotzdem jemand einen Tipp geben, woran das liegen kann, das die Sidebar so verstümmelt wird.

    Danke im voraus,
    diltigug
     
  2. diltigug

    diltigug Well-Known Member

    Registriert seit:
    20. Juli 2006
    Beiträge:
    279
    Zustimmungen:
    0
  3. marX

    marX Well-Known Member
    Ehrenmitglied

    Registriert seit:
    5. Oktober 2006
    Beiträge:
    12.943
    Zustimmungen:
    0
    Nutzt die page.php vielleicht eine andere Sidebar?
     
  4. diltigug

    diltigug Well-Known Member

    Registriert seit:
    20. Juli 2006
    Beiträge:
    279
    Zustimmungen:
    0
    Hallo marX,

    die Seite nutzt das Standard-Seitentemplate wie andere statische Seiten auch, bei denen der Fehler nicht auftaucht.

    Auf doppelt vergebenen id- oder class-Bezeichnungen habe ich auch schon kontrolliert, das ist´s auch nicht.

    Gruß,
    diltigug
     
    #4 diltigug, 21. Juli 2008
    Zuletzt bearbeitet: 21. Juli 2008
  5. marX

    marX Well-Known Member
    Ehrenmitglied

    Registriert seit:
    5. Oktober 2006
    Beiträge:
    12.943
    Zustimmungen:
    0
    Sind die Widgets im HTML-Code sichtbar, d.h. ist es vielleicht ein Anzeige-Problem, oder tauchen die dort auch nicht auf? Ist der HTML-Code valide, oder könnten Markup-Fehler das Problem verursachen?
     
  6. diltigug

    diltigug Well-Known Member

    Registriert seit:
    20. Juli 2006
    Beiträge:
    279
    Zustimmungen:
    0
    Im Quelltext tauchen die fehlenden Teile auch nicht auf.
    Das mit der Validität des eingefügten Codes könnte ein Ansatz sein (Der Code kommt aus einer alten Seite, wo noch nicht so drauf geachtet wurde).
    Werde ich mal durcharbeiten.

    Melde mich nochmal, wenn ich das gerichtet habe.

    Danke erstmal.
     
  7. diltigug

    diltigug Well-Known Member

    Registriert seit:
    20. Juli 2006
    Beiträge:
    279
    Zustimmungen:
    0
    so, da bin ich wieder

    Puh, das war jetzt ein Stück Arbeit.
    Von 440 Errors runter auf 3, leider immer noch ohne Erfolg :-?:

    Der Erste Fehler ist einer, den ich schon immer hatte, der aber noch nie Probleme bereitet hat.
    Die anderen beiden liegen genau in dem Bereich der Sidebar, wo WP anscheinend keinen vollständigen Code auswirft.

    Hat vielleicht noch einer ´ne Idee, warum das nicht funkt?

    Bin für jeden Tipp dankbar,
    diltigug
     
  8. marX

    marX Well-Known Member
    Ehrenmitglied

    Registriert seit:
    5. Oktober 2006
    Beiträge:
    12.943
    Zustimmungen:
    0
    Fehler 1: In XHTML werden alle Attributname klein geschrieben, also "onload" statt "onLoad".

    Die anderen beiden sind wahrscheinlich "leere" Listen, also <ul> ohne <li> als Inhalt. Dürfte kein Problem sein.

    Ansonsten hab ich aber auch keine Idee mehr. Die Sidebar nutzt Widgets, oder statisch? Wenn statisch dann poste doch mal bitte den Inhalt der sidebar.php. Vielleicht findet sich da was.

    Wenn die Seite älter ist, welche WP-Version läuft da? Eine aktuelle oder eine ältere? Vielleicht behebt ja ein WP-Update das Problem.
     
  9. diltigug

    diltigug Well-Known Member

    Registriert seit:
    20. Juli 2006
    Beiträge:
    279
    Zustimmungen:
    0
    Super, dann habe ich den endlich auch mal weg.
    Das sind m. E. die leeren, bzw. unvollständig generierten Listen der Sidebarwidgets.
    Das Theme, bzw. die Sidebar benutzt widgets und basiert auf dem deutschen default-Theme, mit dem der Fehler übrigens auch auftritt (ein drittes habe ich noch nicht getestet). Die Version ist derzeit noch 2.5.1.

    Schon blöd, kann es eventuell an meinem php-code liegen? Meine php-Kenntnisse gehen ungefähr soweit wie ein "Jetzt lerne ich php"-Anfängerbuch.
    Ich werde nochmal ein anderes Theme ausprobieren, meld mich wieder.

    Danke erstmal,
    Gruß,
    diltigug
     
  10. marX

    marX Well-Known Member
    Ehrenmitglied

    Registriert seit:
    5. Oktober 2006
    Beiträge:
    12.943
    Zustimmungen:
    0
    Ja meine ich ja auch, passt schon. ;-9

    Möglicherweise hat auch eins der Widgets ne Macke. Sind das alles Standard-Widgets, oder nachinstallierte? Versuche die mal nach u. nachabzuschalten, vielleicht findest du ein fehlerhaftes. Dann kann man da weiter forschen. hast du vielleicht ein Code-Widget? (Text-Widget mit PHP-Code + PHP-Exec-Plugin o.ä.)
    Eventuell hat das error.log des Servers auch eine Fehlermeldung für dich parat.

    Oki.

    Eher nicht, außer du hast Widgets selbst mit Code versehen. Ansonsten kommt alles Widget-Zeugs ja aus dem WP-Kern bzw. aus Plugins.

    Mach das, vielleicht können wir das ja das Theme ausschließen.
     
  11. diltigug

    diltigug Well-Known Member

    Registriert seit:
    20. Juli 2006
    Beiträge:
    279
    Zustimmungen:
    0
    Zwischenbericht:

    Hab´ jetzt mal die Widgets durchgetestet. Von den Verwendenten sind 4 Stück betroffen:
    Seiten-, Links- und Tag-Widget erscheinen gar nicht und beim Kategorie-Widget erscheint nur der Titel und eine unvollständige Liste im Code.

    Während das Kategorie-Widget unvollständig ist, scheinen die anderen beiden gar nicht geladen zu werden, da darunterliegende Widgets nachrücken.

    Die von mir erstellten Widgets scheinen keinen Einfluss zu mehmen, ich habe sie mal deaktiviert, keine Änderung bei den anderen Widgets. Es handelt sich um eins mit Code von wetter.com und eins, was den rss-feed eines microblogs (Asaph) einliest. Die werden nicht gestört und scheinen nicht zu stören.

    Zum Theme ist mir noch eingefallen das es auf dem deutschen Default-Theme basiert, welches mit der WP-Version 2.2.3 rausgekommen ist.
    Allerding, inzwischen habe ich noch das classic-Theme getestet, auch hier treten die Fehler auf. Womit man wohl das Theme als Ursache ausschliessen kann.

    :-?
    diltigug
     
  12. marX

    marX Well-Known Member
    Ehrenmitglied

    Registriert seit:
    5. Oktober 2006
    Beiträge:
    12.943
    Zustimmungen:
    0
    Deaktivier mal testweise das Kategorie-Widget. Wenn das nur teilweise geladen wird, dann hat das vielleicht irgendwelche Probleme.
     
  13. diltigug

    diltigug Well-Known Member

    Registriert seit:
    20. Juli 2006
    Beiträge:
    279
    Zustimmungen:
    0
    Probiert, die anderen Widgets erscheinen trotzdem nicht.


    Ich habe inzwischen mal eine neue statische Seite angelegt und mit php nur ein einfachen echo-Befehl ausgeführt: Sidebar ist korrekt und komplett.

    Dann habe ich eine Datenbankverbindung ergänzt und ein Ergebnis ohne weitere Formatierungen ausgegeben: Sidebar wird gestört.

    Verändern von Variablennamen der DB-Verbindung: keine Auswirkung, Sidebar wird gestört.

    Ist der Wunsch Daten aus einer anderen DB einzulesen eigentlich so ungewöhnlich? Bin ich eigentlich der Einzige, der hiermit ein Problem hat?
     
  14. marX

    marX Well-Known Member
    Ehrenmitglied

    Registriert seit:
    5. Oktober 2006
    Beiträge:
    12.943
    Zustimmungen:
    0
    #14 marX, 22. Juli 2008
    Zuletzt bearbeitet: 22. Juli 2008
  15. spickzettel

    spickzettel Well-Known Member

    Registriert seit:
    19. Januar 2006
    Beiträge:
    1.848
    Zustimmungen:
    0
    "Datenbankverbindung" war tatsächlich das entscheidende Stichwort für die Forumssuche :)

    Bei mysql_connect() muss als vierter Parameter ein "true" übergeben werden, damit die bestehende WordPress-Datenbankverbindung nicht gestört wird.
     
  16. diltigug

    diltigug Well-Known Member

    Registriert seit:
    20. Juli 2006
    Beiträge:
    279
    Zustimmungen:
    0
    Hurra, es kommt wieder Hoffnung auf :D.

    Jetzt muss ich nur noch wissen, wie die Syntax mit dem true genau aussehen muss, so ungefähr?:
    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    und am Ende vom Skript ein
    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    ?
    Schliesse ich damit nicht evtl. auch die WP-DB-Verbindung?

    Kurz vor´m Ziel, ich spür´s...

    diltigug
     
  17. diltigug

    diltigug Well-Known Member

    Registriert seit:
    20. Juli 2006
    Beiträge:
    279
    Zustimmungen:
    0
    Argh, es funkt, es funkt, es funkt...

    ...mir kommen die :cry:, :mrgreen:.

    Danke für Eure Geduld, vor allem marX.

    Schönen Abend noch,
    diltigug

    P.S. bis auf das meine SQL-Abfragen, die vorher einwandfrei funktionierten, jetzt irgendwie spinnen.

    Aber ich glaub, das schau ich mir später genauer an.
     
    #17 diltigug, 22. Juli 2008
    Zuletzt bearbeitet: 22. Juli 2008
  18. marX

    marX Well-Known Member
    Ehrenmitglied

    Registriert seit:
    5. Oktober 2006
    Beiträge:
    12.943
    Zustimmungen:
    0
    Genau so. Du musst nur aufpassen, dass du immer deine Verbindungskennung (die dir mysql_connect() zurückliefert und du in $link speicherst) an die Abfragen und sonstigen DB-Befehle übergibst, damit PHP weiß, welche Verbindung du gerade ansprechen möchtest. Aber da kann dir auch das PHP-Manual weiterhelfen.

    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    Na dann viel Erfolg weiterhin. :)
     
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden