Seite 1 von 1

IDCATART in Sitemap ausgeben

Verfasst: Fr 5. Jan 2007, 14:25
von mercutio79
Hallo zusammen... ich habe mal eine Frage an die Contenido Experten.

Ich möchte gerne im Sitemap Modul die IDCATART mit ausgeben (nutzen wir als "Pagecode", um Seiten über ein Eingabefeld direkt anzuspringen. Dieser "Pagecode" soll auf der Sitemap für eine bessere Übersicht mit ausgegeben werden.

Dazu habe ich das Modul soweit modifiziert, dass es die IDCATART aus dem Datenbankquery an das Templatesystem übergibt... Das klappt auch schon.

Allerdings bereitet mir der SQL Query an sich Kopfzerbrechen, denn ich bekomme, wenn mehrere Artikel in einer Kategorie abgelegt sind, zu viele Ergebnisse.

Wie muss man die Query modifizieren, dass nur Startartikel ausgegeben werden. Ich habe schon viel probiert, finde aber leider keine Lösung.

SELECT *
FROM con_cat_tree AS A, con_cat AS B, con_cat_lang AS C, con_cat_art AS D
WHERE A.idcat = B.idcat
AND B.idcat = C.idcat
AND D.idcat = A.idcat
AND C.idlang = '1'
AND B.idclient = '1'
AND B.parentid =94
AND C.visible =1
ORDER BY A.idtree

Vielen Dank für Eure Hilfe!

Liebe Grüße
Mercutio

Verfasst: Fr 5. Jan 2007, 19:01
von xmurrix
Hallo,

in der Tabelle "con_cat_lang" wird die id des startartikels gespeichert (als idartlang). Wenn du die Abfrage folgendermaßen änderst, solltest du nur Datensätze mit Startartikel erhalten:

Code: Alles auswählen

SELECT * 
FROM con_cat_tree AS A, con_cat AS B, con_cat_lang AS C, con_cat_art AS D
WHERE A.idcat = B.idcat
AND B.idcat = C.idcat 
AND C.idcat = D.idcat
AND C.idlang = '1' 
AND B.idclient = '1' 
AND B.parentid =94 
AND C.startidartlang > 0
AND C.visible =1 
ORDER BY A.idtree 
Die idcatart ist in der Ergebnismenge des Datensätze drin, da das Select über alle Felder der verwendeten Tabellen geht, kann also mit $row['idcatart'] ausgegeben werden.

Gruß
xmurrix

merci!!

Verfasst: Fr 5. Jan 2007, 19:13
von mercutio79
Vielen Dank! Ich werds gleich mal austesten!

Liebe Grüße
Mercutio!