Weiss jemand von Euch, wie man im Google Feed das „availability_date“ korrekt formatiert? Ich habe schon alles mögliche durchprobiert, doch im Google Merchant Center erhalte ich bei sämtlichen Produkten stehts den Hinweis (kein Fehler) Ungültiges Datum und/oder ungültige Zeit [Verfügbarkeitsdatum] Verwenden Sie das unterstützte Datums- und Zeitformat JJJJ-MM-DDThh:mm:ssZ (ISO 8601)
Und so siehts in meinem Template derzeit aus:
{% if product.deliveryTime %}
<g:availability_date>{{ "now"|date("Y-m-d\\TH:i:s\\Z") }}</g:availability_date>
{% endif %}
Irgendwo im Google Leitfaden habe ich auch mal gelesen, dass auf der Landing-Page ebenfalls das genaue Availability Date existieren muss. Da könnte ich dann allerdings kaum viel ausrichten, da Shopware dies nicht anbietet. Oder wo könnte sonst noch der Fehler liegen?
Bei „now“ muss doch eigentlich die Variabel product.deliveryTime rein oder? Um das Datum richtig zu formatieren kann du |date("c") oder |date("Y-m-d\\TH:i:sP") ausprobieren:
{% if product.deliveryTime %}
<g:availability_date>{{ product.deliveryTime|date("c")}}</g:availability_date>
{% endif %}
Oder so:
{% if product.deliveryTime %}
<g:availability_date>{{ product.deliveryTime|date("Y-m-d\\TH:i:sP")}}</g:availability_date>
{% endif %}
Danke für Deine Hilfe. Allerdings erhalte ich bei beiden Möglichkeiten eine Fehlermeldung.
{"errors":[{"code":"0","status":"500","title":"Internal Server Error","detail":"Object of class Shopware\\Core\\System\\DeliveryTime\\DeliveryTimeEntity could not be converted to string"}]}
Mit dem „now“ funktionierts, doch mit „product.deliveryTime“ leider nicht. Hmmm
{"errors":[{"status":"400","code":"FRAMEWORK__STRING_TEMPLATE_RENDERING_FAILED","title":"Bad Request","detail":"Failed rendering string template using Twig: Failed rendering string template using Twig: An exception has been thrown during the rendering of a template (\u0022Failed to parse time string (product.deliveryTime) at position 0 (p): The timezone could not be found in the database\u0022) in \u0022ee28160dfacbd5679485c6a9cfa7d5bb\u0022 at line 30.","meta":{"parameters":{"message":"Failed rendering string template using Twig: An exception has been thrown during the rendering of a template (\u0022Failed to parse time string (product.deliveryTime) at position 0 (p): The timezone could not be found in the database\u0022) in \u0022ee28160dfacbd5679485c6a9cfa7d5bb\u0022 at line 30."}}}]}
Ehrlich gesagt nein. Ich habe die Vorlage von Shopware übernommen und da stand eben das Availability Date drin. Ich selber führe kein grösseres Lager, sondern bestelle jeweils direkt bei meinen Lieferanten. Somit wäre ich zufrieden, wenn Google einfach „Lieferzeit 1-3“ Tage eintragen würde. Doch wenn ich das availability Datum weglasse, reklamiert er, weil er dieses möchte.
Ich möchte einfach, dass dieses "Abgelehnte Attribute " verschwindet
Wenn das Attribute in dem Feed ist und der Inhalt fehlerhaft, dann meckert Google. Wenn das Attribut nicht existiert, dann interessiert es Google auch nicht.
Nein, die Daten musst du eigentlich nicht löschen. Das macht alles Google für dich.
Herzlichen Dank für Deine Korrekturen.
Manchmal sieht man von lauter Bäumen den Wald nicht mehr. Die Kategorie habe ich nun mal etwas umgebaut. Wäre das so i.O.?
Wie kommst du denn auf diese wahnwitzige Idee? Das sind nicht Shopwares uuids sondern Google Category Ids.
In ein else kommt immer das default rein. Sonst meckert Google ggf. wieder. falls du nun über 30 kg versandkostenfrei versenden möchtest, dann wäre es korrekt. Wenn es um die Bestellsumme geht, dann solltest du kein Gewicht als Referenz nehmen.
Das sieht dann z.B. wie folgt aus:
113 Heim & Garten Rasen & Garten Gartenbau Dünger
Wie verlinkt man das dann genau? Und wie weiss Merchant Center welche ID zu welchem Produkt gehört? Irgendwie ist mir das jetzt überhaupt nicht logisch.