Beiträge von koslowski

    okay, jetzt hab ichs kapiert. Ich bin mal auf die Startseite gegangen. :)

    Wie schon gesagt ich halte die ganze Konstruktion für vollkommen instabil, wie man ja auch im IE6/7 sehen kann.
    Ich glaube auch nicht, das du mit der Struktur und der sich daraus ergebenen.....äh....suboptimalen Gestaltungsanweisungen glücklich wirst.
    Das alles wirkt ein bißchen wie eine ständige Verschlimmbesserung zur Fehlerbeseitigung.
    Sorry, ist nicht böse gemeint. :)

    Das der Container #access mit margin nach unten geholt werden muss, in sich noch mehrfach überflüssigerweise verschachtelt ist, bis die navi mal im Quelltext steht ruft bei mir nur ein verständnisloses Kopfschütteln hervor.

    #fixenavi und #kalender sind überflüssigerweise absolut positioniert und stecken wieder im #header, von dem sie aber nicht eingeschlossen werden, weil sie absolut positioniert sind. Da steht dann noch ein div#tiggermantel im Gelände rum, dessen Sinn nebulös bleibt.

    Vom div#masthead, was im div#header steckt und wo #fixenavi und #kalender drinhocken, die aber wg. absol. Positionierung nicht vom div#masthead umschlossen werden will ich lieber gar nicht erst anfangen.

    div#content hat keine Breite, was wg. IE6/7 nicht gut ist, ist aber noch zweifach in anderen überflüssigen Containern verschachtelt.

    So würde eine vernünftige Struktur für deine HP ausschauen:

    #wrapper bekommt ne feste Breite und wird über margin:0 auto; horizontal zentriert.

    navi und subnavi kommen beide in #topnavi.

    #fixenavi, #content und #kalender bekommen alle drei festen Breiten und floaten auch alle drei, um einen gemeinsamen Block Formatting Context herzustellen.

    Die Floats werden entweder hardcodiert direkt nach dem Ende von #kalender gecleart, oder noch besser, wenn es geht, #footer bekommt das Clear.

    Mehr zusammenfassende Container brauchst du normalerweise nicht. :wink:

    Ach ja, zum Schluß noch ein Link, der dir beim Verbessern deiner Kenntnisse helfen kann.

    Das würde bedeuten, dass die E-Mailadresse die im Kommentar eingetragen wurde, nicht mit der E-Mailadresse des Autors abgeglichen wird (was in gewisser Weise auch Sinn macht).

    mmmh, ja stimmt, das wäre ne Erklärung.
    Die alten Kommentare von mir haben kein .bypostauthor bekommen.

    Jetzt habe ich testweise mal angemeldet einen Kommentar abgegeben und da werden dann diese Klassen ausgegeben:

    PHP
    comment byuser comment-author-helmschrot bypostauthor odd alt thread-odd thread-alt depth-1

    Die gewünschte Klasse erscheint nun neben anderen imho teilweise ziemlich überflüssigen Klassen.
    comment-author-helmschrot finde ich überflüssig.
    Was die Klasse byuser da verloren hat erschließt sich mir leider auch nicht so ganz. Die würde ich instinktiv eher bei Kommentaren eines nicht angemeldeten Besuchers vermuten.

    Das meine alten Kommentare diese Klasse nicht bekommen haben finde ich suboptimal, ja sogar ziemlich ärgerlich.
    Da haben wir beide wohl nicht mit gerechnet, sonst wären wir viel früher drauf gekommen.

    Das heißt ja im Grunde ich kann mir das Modernisieren der comments.php von der Backe putzen, weil dann die alten Kommentare von mir nicht hervorgehoben sind. :twisted:

    Ich würde das sogar als Fehler innerhalb von WP bezeichnen.
    Ob dieser Effekt von WP so gewollt ist würde mich mal interessieren.
    Vielleicht sollte man denen mal ne Mail deswegen schicken.

    Danke nochmal für deine tatkräftige Unterstützung. :)

    Hi,
    "nofollow" oder "dofollow"... Ein "ewiges Streitthema" und auch ich habe da für mich noch keine klare Entscheidung getroffen...!?!?!

    jep, stimmt.

    Der Sinn von Blogs ist es ja neben dem Artikel schreiben und Kommentieren sich untereinander möglichst gut zu verlinken.

    Wenn sich jemand die Mühe macht in meinem Blog einen Kommentar zu hinterlassen und gibt dabei einen Link zu seiner HP/Blog an ist es für mich selbstverständlich den nicht auf nofollow zu setzen.
    Toscho hat dazu mal einen guten Artikel geschrieben.
    Von ihm stammt auch der Codeschnipsel. :wink:

    Just for the records...

    Hab mir das Theme mal in meinem Testblog angesehen und dort funktioniert es einwandfrei. Die Ursache für den "Fehler" sollte daher (m.M.n.) auf dem Server/in der WP-Installation des Threaderstellers zu suchen sein (eventuell ein Plugin?).

    jau, ich werd den Testblog löschen, die DB löschen und über Exportieren/importieren alles neu machen.

    Vermute dank der Hilfe von infected das Get Recent Comments der Bösewicht ist.
    Näheres Morgen nach Neuinstallation. :wink:

    ... könntest du mir bitte erklären was dofollow plugins sind - sagt mir nichts, danke (:

    Wenn jemand einen Artikel kommentiert und unter Website eine HP einträgt, ist dieser Link erst mal auf nofollow gesetzt, d.h. die Sumabots verfolgen den nicht.
    Es gibt versch. Möglichkeiten das zu ändern.
    Einmal durch Plugins oder durch eine kleine Ergänzung der function.php:

    Der Codeschnipsel ist von Toscho!

    Öhm... Geht doch?! Deine Kommentare werden anders dargestellt.

    EDIT: Ach verdammt, hab den falschen Link genommen (den aus Deiner Signatur)... Aber das ist doch das gleiche Theme?!

    ja, du hast recht, es ist das gleiche Theme. :-)

    Der helmschrot-mumpe.de ist mein Testblog in dem ich alles erst mal ausprobiere, bevor ich es auf den echten Blog loslasse. :wink:

    Deaktivieren der Plugins brachte auch nix.

    Wenn sonst keine Idee mehr auftaucht bleiben mir zwei Möglichkeiten:
    Alles so lassen wie es war, ohne die comments.php neu aufzubauen oder ich nehm den Kelch und bau alles neu auf.

    Was mich immer noch ein bisschen verwirrt ist die Aussage

    ich bin noch viel verwirrter. :-?

    Jetzt ist diese Zeile wieder drin:

    PHP
    <li <?php comment_class(); ?> id="li-comment-<?php comment_ID() ?>">

    Es wird nun im Quelltext immer hübsch nacheinander für li das ausgegeben:

    PHP
    Erster Kommentar: class="comment even thread-even depth-1"
    
    
    Zweiter Kommentar: class="comment odd alt thread-odd thread-alt depth-1"
    
    
    Dritter Kommentar: class="comment even thread-even depth-1"

    Die Funktion get_comment_class befindet sich in der von dir genannten Datei.

    Den Link zu comment_class habe ich mir auch schon angeschaut und dort auch die Klasse .bypostauthor entdeckt.
    Nur wird diese Klasse auf dem Weg in den Browser irgendwo gefressen und ich kann mir nicht erklären wo.

    Als nächstes deaktiviere ich mal testweise alle Plugins und schaue was passiert.

    Danach böte sich noch die Möglichkeit an mein Theme völlig neu auf der Basis von "Twenty ten" zu entwickeln [size=8][COLOR=Silver](Herr, bitte lass diesen Kelch an mir vorübergehn! :mrgreen: )[/COLOR][/SIZE]

    [size=10][COLOR=DarkSlateGray][COLOR=Black]Aber zuerst das mit den Plugins.
    Melde mich dann noch mal. [/COLOR]
    [/COLOR][/SIZE]

    Kann es sein, dass das Theme schon ein paar Tage mehr auf dem Buckel hat? Das Hinzufügen der Klassen .byuser und .bypostauthor wurde nämlich mit WP 2.7 eingeführt. Hierzu findet sich ein passender Artikel im Codex: http://codex.wordpress.org/Migrating_Plug…or_comments.php

    Versuche ansonsten mal diesen Weg: http://www.guido-muehlwitz.de/2010/06/kommen…rs-hervorheben/

    Das Theme ist von 08/09 hat also WP 2.7 genutzt. Dateien dieses Themes haben wohl Dateien des classic-Themes genutzt (comment.php z.B.).
    Die comment.php hab ich modernisiert.

    Jetzt durchforste ich erst mal mein Theme und vergleiche die Dateien mit den Dateien des neuen Themes (Twenty Ten).
    Vielleicht finde ich noch etwas zum Modernisieren.
    Ansonsten probiere ich mal deinen anderen Link.

    Vielen Dank erst mal für deine Hilfe. :-)
    Ich meld mich dann bei Bedarf noch mal.

    Hi infected,

    danke für deine Antwort. :-)

    Die Klasse bypostauthor wird automatisch hinzugefügt. Demnach dürfte es reichen Deine CSS Anweisungen in die style.css an der entsprechenden Stelle (ca. Zeile 890) einzubauen.

    Code
    .commentlist .bypostauthor {
        background-color:#8DBDD8;
    }

    Leider wird sie bei mir nicht automatisch hinzugefügt, aus welchen Gründen auch immer.
    Mein Theme ist übrigens selbst entwickelt.

    Ich hab die function.php jetzt noch mal zurückgeswitcht (vor Einschub if/else autor/gast) und hochgeladen.
    Hier kannst du dir mit Firebug angucken welche Klassen generiert werden.

    Hi,

    bin grad dabei meine comments.php zu renovieren.
    Meine Bisherige basierte auf dem alten classic-Theme.

    Die Neue ist eine wüste Mischung aus der Twenty Ten comments.php, der zugehörigen ergänzten Funktion twentyten_comment in der functions.php und für die Ausgabe des Formulars ein Einschub vom Kubrick-Theme statt dem imho umständlich konfigurierbaren:

    PHP
    <?php comment_form(); ?>

    Klappt auch alles eigentlich so wie gewünscht.

    Um die eigenen Kommentare hervorzuheben habe ich in der functions.php etwas ergänzt bzw. ausgetauscht:

    Normal sieht dieser Teil ja so aus:

    PHP
    function twentyten_comment( $comment, $args, $depth ) {
        $GLOBALS['comment'] = $comment;
        switch ( $comment->comment_type ) :
            case '' :
        ?>
        <li <?php comment_class(); ?> id="li-comment-<?php comment_ID(); ?>">
            <div id="comment-<?php comment_ID(); ?>">

    Statt <?php comment_class(); ?> hebe ich halt class="<?php echo $class; ?>" reingewurstet.

    Klappt eigentlich auch. Die entsprechenden Klassen werden ganz brav in Abhängigkeit von Autor oder Gast ausgegeben und ich könnte entsprechend gestalten.

    Jetzt habe ich aber in der Wp-Doku unter comment_class folgendes gelesen:

    Zitat

    user_id: if the comment was made by a registered user, then adds class "byuser" and "comment-author-" + the user_nicename sanitized (i.e. spaces removed). Also, if the comment is by the original author of the post, the class "bypostauthor" is added.

    Es ist mir leider nicht gelungen das so einzubauen, um die Klasse bypostauthor ausgegeben zu bekommen.

    Kann mir evtl. jemand auf die Sprünge helfen?
    Meine PHP-Kenntnisse sind leider nur rudimentär. :-)

    äh, doch das sind alles die Unterpunkte der Orgel.

    sorry, aber das klingt irgendwie an den Haaren herbeigezogen. ;-)


    Ich meine, wenn das im IE8 und im ff geht und im und in IE7 nicht dann ist das doch wahrscheinlich dass der ein css porblem hat.

    Wie ich schon sagte, mit zwei Listen (für jede Reihe eine) ist es am einfachsten zu lösen, zumindest bei deinen Kenntnissen sollte das das Mittel deiner Wahl sein. :wink:

    Das hier:

    PHP
    #access ul ul {
    display:none;
    float:left;
    left:-350px;
    position:absolute;
    width:589px;
    z-index:99999;
    }

    ist jedenfalls widersprüchlich und teilweise auch ziemlich unsinnig.

    Es kann sein das die Subliste nicht angezeigt wird, weil du im Quelltext absolute Elemente direkt neben gefloateten hast und da verschwindet in älteren IE's schon mal gerne das eine oder das andere (im IE6 wird die komplette Navi deshalb wohl nicht angezeigt).
    Dann muss z.B. die Subliste in ein nicht gefloatetes und nicht absolut posit. Element eingeschachtelt werden, damit der Effekt nicht auftritt.
    Oder auf position:absolute verzichten, welches sowieso ziemlos überflüssig ist.


      koslowski
    meinst du, ich soll nur im Orgeltemplate, noch die subnavi als zweite Liste einbauen? verstehe ich das richtig?

    jau, weil die Subnavi ja eigentlich keine Subnavi ist, d.h. es gibt imho keinen übergeordneten navipunkt dem man alle Links der zweiten Reihe zuordnen könnte.
    Wenn du daraus zwei navilisten machst, vereinfacht das die Sache meiner Meinung nach. :wink:


    das liegt nicht zwangsläufig nur an CSS-Einstellungen,

    richtig, die Struktur an sich ist schon ausgesprochen....äh...krank. ;-)

    So wie du das zusammengehauen hast bekommst du kaum eine stabile Struktur.

    Du brauchst einen #wrapper um alles für die horizontale Zentrierung. Da drin einen #header, eine #topnavi, drei Spalten und einen Fuss.
    Der #header braucht ne Höhe.
    Die #topnavi darunter macht man einfach mit zwei navi-Listen. Das mit ner Subnavi verschachteln ist Unfug.
    Darunter die drei Spalten floaten alle drei in Verbindung mit einer Breite.

    Diese merkwürdigen margin-Verschiebungen sind auch unnötig.

    [ot][size=8][COLOR=Silver]Von der Site bekommt man ja sofortigen Augenkrebs, aber das sag ich nich laut[/COLOR][/SIZE] :mrgreen: [/ot]

    Hi Maxe,

    wie hast du das Theme (spez. die comments.php) übersetzt? Manuell/hardcodiert (mit welchem Editor?) oder mit einer Sprachdatei vom Theme? Scheint irgendwie nicht UTF-8 zu sein.

    mmmh..., Editoren nutze ich den WEBuilder in teutsch und notepad++, weil ich bei beiden als Standard UTF-8 ohne BOM einstellen kann.

    Die Codeteile habe ich vom Twentyten (Kommentarausgabe und function-Teile) und vom default-Theme den Teil mit dem Formular.

    Hah, ich habs! :grin:
    Wenn man existierende Dateien im Editor öffnet sind die ja nicht automatisch UTF-8.
    Die sollte man dann erstmal vorsorglich extra im richtigen Format speichern, was ich versäumt habe.
    Jetzt klappt es.

    Danke, deine Antwort hat mich auf die richtige Spur gebracht. :smile:
    [size=8][COLOR=Silver]Manchmal kann das Leben so einfach sein![/COLOR][/SIZE]

    Tach zusammen,

    bisher basierte meine comments.php auf dem alten Classic-Theme.
    Das habe ich versucht zu modernisieren.

    Vom twentyten habe ich die comments.php genommen und von der twentyten-functions.php den Teil in meine functions.php reinkopiert, der mit der Ausgabe der Kommentare zu tun hat.
    Das klappte auch gut.

    Leider stellt er mir jetzt im Kommentarteil die Umlaute nicht mehr richtig dar.
    Merkwürdigerweise werden sie in den Kommentaren selber normal dargestellt.

    Link zur Testsite

    Hat jemand einen Lösungsansatz für mich?

    Auch das habe ich probiert. Es klappt nur nicht. Habe halt ein ganz normales div-Element mit der id menue. In diesem DIV ist dann die ul-Liste. Die li-Elemente habe ich mit float umgebrochen.

    das kann ja auch nicht klappen, wenn li margin:0 auto bekommt.
    Die ul bekommt die Breite (keine 100% !) und margin:0 auto;.

    display:inline für li geht natürlich auch, da hat man allerdings nicht so viel Kontrolle über die Darstellung.