Ja, sicherlich hilft so direkt für modified nicht, aber kann der Inspiration dienen (@Team) und mir ging es mehr auf das kostenlos einzugehen und eben zu zeigen wie es annähernd perfekt und flexibel umgesetzt aussehen kann. Also das modified kostenlos ist, ist somit kein Argument, das Modul ist es zumindest auch.
Das noRiddle Modul entspricht nicht der aktuellen Spezifikation, wie behauptet wird und funktioniert auch nicht. Getestet wurde das nicht sonderlich, gut ist ja auch nur eine "Test-Vorab-Version", will das daher nicht schlecht machen. Ein Test-Feed bei Google hätte aber gereicht, um zu sehen, dass es nur begrenzt Produkte importiert (bricht nach 1-2 Produkten ab), also der Fehler der schon seit jeher existiert, wenn man sich den Thread hier mal durchliest.
Ich sage nicht, dass es kein Fortschritt ist, aber auch nicht mehr als ein Anfang. Das meiste basiert scheinbar auf Beiträgen und Code-Schnippseln aus diesem und anderen Threads, unter anderem z.B. von Beiträgen von kgd. Die Lösungen sind zumindest ähnlich.
Anderes ist funktionell nicht zu gebrauchen wie z.B.
if($listing['products_quantity'] > 0) {
echo "\t\t\t" . '<g:availability>auf Lager</g:availability>' . "\n";
} else {
echo "\t\t\t" . '<g:availability>bestellbar</g:availability>' . "\n";
}
da nicht jeder die verfügbaren Artikelmengen im Shop pflegt und bei den meisten Shops wohl alle Artikel mit Lagerbestand 0 in der Admin stehen. Nicht jeder Versandhändler hat ein eigenes Lager, somit würde nie "auf Lager" im Feed erscheinen. Sinnvoller wäre da imho mit dem Lieferstatus zu arbeiten und nicht dem Lagerbestand und dann passend einen der beiden Texte auszugeben, die Google vorschreibt. Das ist dann aber wieder individuell je Shop unterschiedlich, von daher kann es auch sinnvoll sein in der Datei wieder mit einem Define zu arbeiten, über das der Anwender festlegt ob der Lagerbestand beachtet werden soll oder nicht. Shops schreiben ja gerne überall "auf Lager", auch wenn das nicht immer so genau stimmt, muss jeder für sich selbst entscheiden und entsprechend den Code ggf. umändern.
GTIN und MPN fehlt auch noch. Bei den "Bereinigungen" könnte man auch mit Funktionen arbeiten, anstatt vieles redundant zu machen. Zusätzlich fehlt das bereinigen noch an anderer Stelle, deshalb bricht der Feed auch ab.
Netto / Bruttopreise fehlen auch noch, sprich Unterscheidung B2C oder B2B. Google will immer brutto.
Versandkosten ebenso noch ein Problem, auch was das Format angeht, das Google vorgibt.
Das Coding ist auch das übliche deutsch / englisch Mischmasch. Die MySQL-Queries z.B. zu den Tabellennamen waren tlw. hardcodiert, anstatt mit den Konstanten zu arbeiten.
Artikelbilder sind nicht richtig, die Thumbnails gehören nicht in den Feed.
Artikelzustand ist auch hardcodiert auf neu, anstatt zumindest weiter mit der "Konfigurations-Konstante" zu arbeiten.
Zu guter Letzt wird der Feed weder im IE noch im Firefox im Browser angezeigt (Feedcodefehler), auch wenn der Quellcode da ist, aber das hilft auch nicht, da Google das dann nicht annimmt.
Also war genug zu tun, auch ohne die fehlenden Attribute.
Von mir kommt hier nix weiter, ich hätte auch nichts geschrieben, wenn du nicht gefragt hättest, da es eh nur Zeitverschwendung ist und Gelaber auslöst. Hat nichts mit dir persönlich zu tun. Wenn andere das fertige Modul nicht teilen und mir andere doppelte Arbeit aufzwängen - ich meine vor allem wegen der Attribute - dann wäre ich schön blöd es zu teilen und andere dann noch kostenlos mit Updates zu versorgen.
Das andere dann mit darunter "leiden" müssen, ist schade, aber ich kann es nicht ändern. Das Spiel haben andere begonnen ...