W3concept.alist Zeigt falsches Element an

Gesperrt
Beleuchtfix
Beiträge: 1082
Registriert: Di 22. Jul 2003, 10:14
Wohnort: Hessen
Kontaktdaten:

W3concept.alist Zeigt falsches Element an

Beitrag von Beleuchtfix »

Hallo,
ich benutze die standard w3concept.alist http://www.w3concepts.net/1/1/51/87.html von Andreas Kummer und gebe anstatt der Subheadline den Text aus.
Die einzige Änderung im Modul ist in Zeile 227

Code: Alles auswählen

    $sql = "
            SELECT value FROM {$cfg['tab']['content']}
            WHERE
            idartlang = ".$db->f("idartlang")."
            AND idtype   <= 2
            ORDER BY typeid ASC
            ";  // idtype 1 Headline 2 = Text Es werden also Headline und Text abgefragt!
dass AND idtype <= 2 anstatt =1 steht.
Nun habe ich das Problem, das gelegentlich in der Anzeige Headline und Text vertauscht sind. Siehe http://www.himi.f-be.de/front_content.php?idcat=128 der letzte angezeigte Artikel. In der Datenbank ist es richtig abgespeichert, was man auch sehen kann, wenn man sich den Artikel anzeigen läßt. Ein neues Zuweisen des Templates etc. nützt nicht, nur wenn ich den Artikel komplett lösche und neu erstelle, wird es richtig.
Hat jemand eine Idee?

Vielen Dank
Florian
emergence
Beiträge: 10653
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence »

ich tippe mal ganz auf die schnelle

Code: Alles auswählen

AND idtype   <= 2 
            ORDER BY typeid ASC
sollte

Code: Alles auswählen

AND idtype   <= 2 
            ORDER BY idtype ASC
sein...
*** make your own tools (wishlist :: thx)
Beleuchtfix
Beiträge: 1082
Registriert: Di 22. Jul 2003, 10:14
Wohnort: Hessen
Kontaktdaten:

Beitrag von Beleuchtfix »

Hallo Emergence,

danke für den Tipp, das war es noch nicht ganz. :( Jetzt wird nur noch die Übeschrift angezeigt, allerdings ohne Link und ohne nachfolenden Text.
Ich hatte vor diesem Fehler mehrmals unterschiedliche Templates der Seite zugewiesen (bzw. unterschiedliche Module für die Artikelliste getestet) und auf einmal trat der Fehler auf.
Kann es sein, dass Contenido beim Ändern irgend welche Indizes verschulckt?

Gruß
Florian
PS. Ich stelle den alten Zustand wieder her, dann kan man sich das Problem leichter vorstellen.
Beleuchtfix
Beiträge: 1082
Registriert: Di 22. Jul 2003, 10:14
Wohnort: Hessen
Kontaktdaten:

Beitrag von Beleuchtfix »

Nach langer Zeit (und dem PHP Kurs von Emergence :D ) habe ich mich noch einmal an das Problem gewagt .

Irgendwie hatte Emergence recht, mitlerweile klappt die Ausgabe mit idtype. Vielleicht waren beim ersten Versuch noch einige Daten gecached.


Ich stelle immer wieder fest, dass sich gelegentlich Änderungen erst nach einiger Zeit auswirken, trotz reload etc. Das ist ganz schön ärgerlich, weil man einfach nicht versteht, warum bestimmte Sachen nicht klappen.

Gruß
Florian
Beleuchtfix
Beiträge: 1082
Registriert: Di 22. Jul 2003, 10:14
Wohnort: Hessen
Kontaktdaten:

Beitrag von Beleuchtfix »

So, jetzt ist noch ein viertel Jahr vorbei. Der Fehler trat immer wieder sporadisch auf, und jetzt hoffe ich, ihn endlich gefunden zu haben.
Wichtig war erst einmal den Unterschied zwischen idtype und typeid zu erkennen.

Idtype kennzeichnet, um was für ein Element es sich handelt: Header, HTML-Text, Text, Bild etc.... Dies ist wichtig, weil Contenido einzelne Elemente unterscheidlich ausgibt.

Typeid ist die Nummerierung des einzelnen Elementes innerhalb der entsprechenden idtype. Eine Subheadline hat idtype 1 und typeid 2 :!:

Genau diese wollte ich aber nicht ausgeben, sondern den ersten Text (idtype 2 typeid 1). Bei manchen Artikeln existierte nun eine Subheadline, bei anderen nicht. Und da ich nur nach einem Element sortiert habe, kam es gelgentlich zur falschen Sortierung. Also mußte ich bei der Ausgabe nach 2 Elementen sortieren und jetzt klappt es.

Hier der geänderte Code im unteren Output Teil:

Code: Alles auswählen

 $sql = " 
            SELECT value FROM {$cfg['tab']['content']} 
            WHERE 
            idartlang = ".$db->f("idartlang")." 
            AND idtype   <= 2 
            ORDER BY typeid ASC 
            
           ORDER BY typeid, idtype ASC
            ";  // idtype 1 Headline 2 = Html-Text 4 = Bilder  5 = Bild-Beschreibung
             //  typeid Element innerhalb des typids
             //  1 1 = Headline , 1 2 = Subheadline / 2 1 = 1. Text  2 2 = 2. Text
 
             //Es werden also Headline und Text abgefragt!
Vielleicht mag jemand die Liste für sich auch so nutzen.

Gruß
Florian
Gesperrt