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

Startseitenaufteilung Problem

Dieses Thema im Forum "Design" wurde erstellt von stevie99, 15. November 2007.

  1. stevie99

    stevie99 Well-Known Member

    Registriert seit:
    5. November 2007
    Beiträge:
    258
    Zustimmungen:
    0
    Hallo,

    Mein Code der index.php sieht jetzt so aus:

    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    Ich möchte nun gerne, dass "der normale Artikel ganz oben" nicht auf Start erscheint, sondern nur meine Programmierungen am "cat", also ab hier:
    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    Ich bekomme es nicht hin.
    Könnt ihr mir bitte sagen wie der Code sein muss ?
     
  2. marX

    marX Well-Known Member
    Ehrenmitglied

    Registriert seit:
    5. Oktober 2006
    Beiträge:
    12.943
    Zustimmungen:
    0
  3. stevie99

    stevie99 Well-Known Member

    Registriert seit:
    5. November 2007
    Beiträge:
    258
    Zustimmungen:
    0
    Du bist lustig Marx :)

    Genau das eiß ich doch nicht. Also ich weiß nicht was im Code ich löschen muss, damit nur die Cats unten, also nicht der Standartbericht (den das Kubrick von vorne herein oben stehen hat) angezeigt wird.

    Was muss ich dazu löschen ?
     
  4. marX

    marX Well-Known Member
    Ehrenmitglied

    Registriert seit:
    5. Oktober 2006
    Beiträge:
    12.943
    Zustimmungen:
    0
    Wenn du dir deine Frage von oben mal genau durchliest, dann kommst du auch selbst drauf:

    Dann weißt du (aus anderen Postings hier), dass <div class="narrowcolumn"> stehen bleiben muss. Auch if have_posts() wäre wichtig. Danach kommt ein "normaler" Loop, erkennbar an while( have_posts() )... auch das kennst du, sonst hättest du nicht die weiteren Codes eintragen können. Danach folgt die Ausgabe der Navigationslinks (auch leicht erkennbar, z.B. an der class). Und jetzt kommt schon dein Code.

    So, jetzt solltest du wieder etwas voran kommen.
     
  5. stevie99

    stevie99 Well-Known Member

    Registriert seit:
    5. November 2007
    Beiträge:
    258
    Zustimmungen:
    0
    Hallom

    ja, das habe ich verstanden. Danke.

    Aber: Ich weiss nicht, wie ich dann weiter machen muss bzw. wie es exakt und korrekt eingefügt gehört (das cats mit seinen Klassen).

    Wärest Du vielleicht so lieb und würdest mir das einmal zusammenkopieren (also code) so wie es sich gehört ?
    Dann bekomme ich keine fehlermeldungen mehr und weiß es für alle Zeiten :) ?????

    Oder machen wirs so: Was ist daran noch falsch:

    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
     
    #5 stevie99, 15. November 2007
    Zuletzt von einem Moderator bearbeitet: 15. November 2007
  6. marX

    marX Well-Known Member
    Ehrenmitglied

    Registriert seit:
    5. Oktober 2006
    Beiträge:
    12.943
    Zustimmungen:
    0
    Wenn die Seite PHP-Fehler enthält, dann bekommst du ne (mehr oder weniger) aussagekräftige Fehlermeldung.

    HTML-Fehler überprüfst du am besten mit einem HTML-Validator, z.B. The W3C Markup Validation Service oder lokal mit dem HTML-Validator-Addon für den Firefox.

    Auf nen groben Blick würde ich sagen, dass der Code okay ist. id="cat" tritt öfters auf, solltest du ne Class draus machen (IDs dürfen nur 1x im Dokument auftauchen). Den DOCTYPE würde ich noch ändern.
     
    #6 marX, 15. November 2007
    Zuletzt bearbeitet: 15. November 2007
  7. stevie99

    stevie99 Well-Known Member

    Registriert seit:
    5. November 2007
    Beiträge:
    258
    Zustimmungen:
    0
    Aber was angezeigt wird ist absoluter Schwachsinn auf der Seite.

    Es muss schon was Gravierendes falsch sein

    Und wie mache ich ne class aus der ID, wie muss das dann aussehen ?

    Ich habe mal alles rausgeschmissen und nur 1CAT drin !

    Code ist jetzt so:

    Jetzt wiederholt er aber das CAT immer und immer wieder endlos
     
    #7 stevie99, 15. November 2007
    Zuletzt bearbeitet: 15. November 2007
  8. marX

    marX Well-Known Member
    Ehrenmitglied

    Registriert seit:
    5. Oktober 2006
    Beiträge:
    12.943
    Zustimmungen:
    0
    Du solltest dir erstmal Grundkenntnisse in HTML und CSS sowie in WP-Template-Tags aneignen, bevor du dir ein eigenes Theme baust.

    id="cats" -> class="cats"
    Und dann entsprechend im CSS ändern (#cats -> .cats)

    Solche Konstrukte sind natürlich Blödsinn:
    HTML:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!

    Was heißt "es wird Schwachsinn" angezeigt? Der Code wird dir einige Male hintereinander die neuesten 3 Posts aus der Kategorie 14 anzeigen. Was möchtest du ausgegeben haben?
     
  9. stevie99

    stevie99 Well-Known Member

    Registriert seit:
    5. November 2007
    Beiträge:
    258
    Zustimmungen:
    0
    Ich will nicht einige Male die Postings ausgegeben haben sondern eben nur einmal (reicht ja auch, oder :) ?

    Ausserdem ist die sidebar nicht mehr da
     
  10. marX

    marX Well-Known Member
    Ehrenmitglied

    Registriert seit:
    5. Oktober 2006
    Beiträge:
    12.943
    Zustimmungen:
    0
    query_posts() muss vor have_posts() aufgerufen werden. Eigentlich logisch - have_posts() gibt ja in einer Schleife (dem "Loop" -> while-Schleife) die Postings aus, die du mit query_posts() aus der Datenbank geholt hast.
     
  11. stevie99

    stevie99 Well-Known Member

    Registriert seit:
    5. November 2007
    Beiträge:
    258
    Zustimmungen:
    0
    Ok...also so: ????

    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
     
    #11 stevie99, 15. November 2007
    Zuletzt von einem Moderator bearbeitet: 15. November 2007
  12. marX

    marX Well-Known Member
    Ehrenmitglied

    Registriert seit:
    5. Oktober 2006
    Beiträge:
    12.943
    Zustimmungen:
    0
    Nein, vor have_posts(). Der Ablauf ist eigentlich logisch: du holst dir mittels query_posts() die gewünschten Beiträge aus der Datenbank, danach prüfst du mit have_posts(), ob überhaupt Beiträge da sind. WENN welche da, dann gibst du die im Loop aus ("while have posts"), SONST gib eine Meldung aus.
    (Übersetze die groß geschriebenen Wörter ins Englische, dann hast du schon den halben PHP-Code: IF...ELSE...)

    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    Ansonsten hat ein wenig Try & Error (ausprobieren und Fehler umgehen) auch noch keinem geschadet. ;)
     
  13. jottlieb

    jottlieb Well-Known Member
    Ehrenmitglied

    Registriert seit:
    20. August 2005
    Beiträge:
    17.381
    Zustimmungen:
    1
    @stevie: Die Zitatfunktion ist nicht dazu gedacht, Code zu markieren. Nutze direkt den PHP-Button.
     
  14. stevie99

    stevie99 Well-Known Member

    Registriert seit:
    5. November 2007
    Beiträge:
    258
    Zustimmungen:
    0
    Ok, vielen Dank, hat geklappt !

    @jottlieb, sorry war keine Absicht !
     
  15. stevie99

    stevie99 Well-Known Member

    Registriert seit:
    5. November 2007
    Beiträge:
    258
    Zustimmungen:
    0
    Wenn ich einen Cat reinbaue geht es.

    Bei mehreren steigt der Server aus. Wieso ??


    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    P.S.: So wie ich es oben in dem Code hatte haben mehrere untereinander funktioniert komischer Weise
     
    #15 stevie99, 16. November 2007
    Zuletzt bearbeitet: 16. November 2007
  16. marX

    marX Well-Known Member
    Ehrenmitglied

    Registriert seit:
    5. Oktober 2006
    Beiträge:
    12.943
    Zustimmungen:
    0
    Da fehlen jeweils die endifs zu den if-Anweisungen.

    Wenn du davon ausgehst, dass du immer Beiträge in den Kategorien haben wirst, dann kannst du das ganze if...else...endif auch weglassen.

    Ansonsten ist "steigt der Server aus" keine tollen Fehlerbeschreibungen. WAS passiert? WAS hast du erwartet? Gibt der Server eine Fehlermeldung aus? Wenn ja welche? DU kannst es einem ganz schön schwer machen dir zu helfen... :-?
     
    #16 marX, 16. November 2007
    Zuletzt bearbeitet: 16. November 2007
  17. stevie99

    stevie99 Well-Known Member

    Registriert seit:
    5. November 2007
    Beiträge:
    258
    Zustimmungen:
    0
    Also wenn och den Code zweimalhintereinander eingegeben habe, wie folgt:

    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    dann erhalte ich die folgende Fehlermeldung:

    Parse error: syntax error, unexpected $end in /home/www/web44/html/wp-content/themes/default_de/index.php on line 56


    Gebe ich ihn aber ein so wie ich ihn hier hatte:

    <div id="content" class="narrowcolumn">

    <?php if (have_posts()) : ?>

    <div class="kategorie-start">Boulevard</div>
    <div class="entry">
    <div id="cats">
    <?php query_posts('cat=14&showposts=3'); ?>
    <?php while (have_posts()) : the_post(); ?>
    <h2><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></h2> <?php the_content_limit(400, "mehr...");?>

    </div>
    </div>



    dann geht es

    oder wenn ich das <?php if (have_posts()) : ?> weglasse, dann geht es auch.

    P.S.: Es ist sichergestellt, dass es in jeder Kategorie immer Posts gibt !
     
    #17 stevie99, 16. November 2007
    Zuletzt bearbeitet: 16. November 2007
  18. marX

    marX Well-Known Member
    Ehrenmitglied

    Registriert seit:
    5. Oktober 2006
    Beiträge:
    12.943
    Zustimmungen:
    0

    Das bedeutet, dass irgendwo ein Block nicht geschlossen wurde. Wie ich oben bereits sagte, wird das bei dir wahrscheinlich der if-Block sein.

    Dann lass die if-Blöcke jeweils weg. Das "if ( have_posts() )" fragt ja nur ab, ob Beiträge vorhanden sind, und gibt im "else"-Zweig eine Meldung aus, falls keine gefunden wurden. Das könntest du in deinen Blöcken auch weglassen.

    PS: Wie jottlieb schon sagte, verwende bitte die code/php-Tags um längere Codeblöcke hier im Forum zu kennzeichnen.
     
  19. stevie99

    stevie99 Well-Known Member

    Registriert seit:
    5. November 2007
    Beiträge:
    258
    Zustimmungen:
    0
    Oh shit. Jetzt ist das schon wieder passiert. Ich versuche, dass es nicht mehr vorkommt. Entschuldigung !

    Kannst Du mir mal bitte sagen, wie so ein Code dann aussehen müsste ?
    Ach ja und funktioniert es auch ohne diese Abfrage, ob Beiträge da sind ?
     
  20. marX

    marX Well-Known Member
    Ehrenmitglied

    Registriert seit:
    5. Oktober 2006
    Beiträge:
    12.943
    Zustimmungen:
    0
    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    So müsste der Code stimmen. Ich hab mal noch ein paar Einrückungen und Kommentare zur Übersicht hinzugefügt.

    Wenn have_posts() "false" liefert, also keine (weiteren) Posts da sind, dann wird die while-Schleife nicht ausgeführt. Egal ob sie vorher schon mal ausgeführt wurde oder nicht. Also auf gut deutsch: Die while-Schleife gibt aus, was da ist. Ist nichts da, dann gibt sie auch nichts aus. (Nur gibt es so halt keine Meldung, wenn keine Posts da sind.)
     
    #20 marX, 16. November 2007
    Zuletzt bearbeitet: 16. November 2007
  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