Hallo,
ich stehe vor der Aufgabe, einen Export von Daten aus der Datenbank zu machen. Das klappt per Cronjob so weit vom Prinzip her gut, aber:
Auswahlkriterium: Die Artikel stehen in einer versteckten Kategorie. Das klappt anhand der passenden oxobject2category.OXCATNID so lala, aber der Wert ist hart kodiert und mir fehlen noch die Variantenartikel.
Frage 1: Wie bekomme ich die Variantenartikel mit dazu?
Frage 2: Wie könnte ich die Hartkodierung der OXCATNID umgehen?
Mein Hauptproblem ist aber, wie komme ich beim ausgewählten Artikel zur canonical URL, um diese als eine der Ergebnisspalten auszugeben? Die meisten Artikel sind in mehreren Kategorien enthalten und haben auch noch einen Hersteller und sind in der o.g.versteckten Kategorie, haben also auch mal 5 Einträge (SEO-URLs) in oxseo.
Die Suche hat mir zwar geholfen, die richtige Lösung habe ich aber noch nicht(*).
Frage 3: Welche Kriterien führen zur canonial URL?
Hier die Abfrage:
SELECT av.OXARTNUM AS sku, av.OXTITLE AS name, av.OXSHORTDESC AS short_description,
x.OXLONGDESC AS description,
av.OXPRICE AS price, NULL AS special_price,
NULL AS special_from_date,
NULL AS special_to_date,
CONCAT('https://shopxyz.com/out/pictures/generated/product/1/87_87_75/',av.OXPIC1) AS thumbnail,
CONCAT('https://shopxyz.com/out/pictures/generated/product/1/540_340_75/',av.OXPIC1) AS small_image,
CONCAT('https://shopxyz.com/out/pictures/master/product/1/',av.OXPIC1) AS image,
concat('https://shopxyz.com/',s.OXSEOURL) AS url_path,
av.OXINSERT AS created_at,
DATE_FORMAT(av.OXTIMESTAMP,'%Y-%m-%d') AS updated_at
FROM datenbankname.oxv_oxarticles_de av inner JOIN datenbankname.oxv_oxartextends_de x
LEFT OUTER JOIN datenbankname.oxobject2category c ON av.OXID=c.OXOBJECTID
LEFT OUTER JOIN datenbankname.oxseo s ON av.OXID = s.OXOBJECTID
where av.OXID = x.OXID
AND c.OXCATNID LIKE '%9d1ae0aba06471f01f86924b520b414c%'
AND av.OXSTOCK > 0
;
Daten: 44 Artikel, davon 38 mit av.OXSTOCK > 0
Diese 38 ergeben zusammen 71 Einträge in der oxseo. Von denen gehören 42 zu Artikeln die keine Varianten sind und davon wiederum sind 11 eine URL mit der versteckten Kategorie. Von den 71 gehören die restlichen 29 zu Variantenartikeln, aber keine davon ist eine URL mit der versteckten Kategorie.
Frage 4: Warum gibt es letztere nicht, obwohl diese Variantenartikel der versteckten Kategorie zugeordnet sind?
(*) Für die Erklärung des * mach ich ein anderes Thema auf: Tipps für oxid 6.x Einsteiger für die Forumssuche
Danke Euch!