XML Root Element error

Phoca Cart - complex e-commerce extension
KOudy
Phoca Member
Phoca Member
Posts: 10
Joined: 23 Feb 2023, 13:28

XML Root Element error

Post by KOudy »

Hi, when I wanted to set the XML Root Element for zbozi.cz according to their standard, I ran into a problem.

zboží.cz requires: SHOP xmlns="http://www.zbozi.cz/ns/offer/1.0"

https://napoveda.zbozi.cz/xml-feed/specifikace/

After saving and displaying the XML it is broken. The problem is probably a gap in the text.

Code: Select all

This page contains the following errors:
error on line 2274 at column 8: expected '>'
Below is a rendering of the page up to the first error.
KOudy
Phoca Member
Phoca Member
Posts: 10
Joined: 23 Feb 2023, 13:28

Re: XML Root Element error

Post by KOudy »

Ahoj, opravdu nikdo neví, kde by mohla být chyba?

Nastavil jsem dle požadavků zbozi.cz - https://napoveda.zbozi.cz/xml-feed/specifikace/

https://imgur.com/7HiMyAh

Uložil a když otevřu XML link je vadný viz: https://j4.jsemchytrydum.cz/index.php?o ... format=xml

Aktuální J4, aktuální Phoca Cart.

Díky
KOudy
Phoca Member
Phoca Member
Posts: 10
Joined: 23 Feb 2023, 13:28

Re: XML Root Element error

Post by KOudy »

Problém vyřešen.

Chyba byla v ukončení XML Root Element kde zbozi.cz vyžaduje <SHOP xmlns="http://www.zbozi.cz/ns/offer/1.0"> a ukončení vyžaduje </SHOP> jenže Phoca Cart ukončovala celý nastavený element.

Osobně bych přidal do nastavení XML Root Element start a end.
User avatar
Jan
Phoca Hero
Phoca Hero
Posts: 48403
Joined: 10 Nov 2007, 18:23
Location: Czech Republic
Contact:

Re: XML Root Element error

Post by Jan »

Ahoj, kvůl všem možným variantám jsou tam parametry:

XML Header a XML Footer, takže se shop tag může dát do hlavičky a ukončit v patičce.
If you find Phoca extensions useful, please support the project
KOudy
Phoca Member
Phoca Member
Posts: 10
Joined: 23 Feb 2023, 13:28

Re: XML Root Element error

Post by KOudy »

Ano díky, přišel jsem na to sám. Z dokumentace to není úplně patrné na jednom příkladu z Google Merchant.

Řeším však další problém. Při generování XML pro zboži.cz nebo heureka.cz využívám "Titulek (XML kanál)" kde pro tyto dva servery 0 znamená skladem.

Problém u Google Merchant je, že pro skladem potřebuji hodnotu "in_stock" případně není skladem "out_of_stock"

Nedokážu současně vytvořit správný XML pro všechny servery současně.

Kdysi na starém VM kde sem využíval productXport se vkládal tento kód:

Code: Select all

if ($product->stock > 0) {
	$product->availability = "in stock";
        $product->stock= "0";
} else {
	$product->availability = "out of stock";
        $product->stock= "7";
}
Nějaký nápad jak vyřešit tento problém?
User avatar
Jan
Phoca Hero
Phoca Hero
Posts: 48403
Joined: 10 Nov 2007, 18:23
Location: Czech Republic
Contact:

Re: XML Root Element error

Post by Jan »

Ahoj, XML Feed je systémový, tedy si pro každý feed nadefinuju, jaké tagy chci mít a jaké hodnoty se mají zobrazovat.

Přesně nerozumím, co znamená, že "0 znamená skladem", ale každý feed může mít různá pole:

Pro Google Merchant použiju pole Stock Status, pro ostatní Stock (např.):

Image

Image


Pokud např. jiný služby mají při nule ignorovat status, pak se pro ně dají tyto položky povypínat (nevyplnit). Případně se ještě dá udělat nějaký speciální parametr jen pro dané služby přes plugin (vložit si do pluginu vlastní parameter).

Image
If you find Phoca extensions useful, please support the project
KOudy
Phoca Member
Phoca Member
Posts: 10
Joined: 23 Feb 2023, 13:28

Re: XML Root Element error

Post by KOudy »

Ahoj, díky za odpověď, asi jsem to špatně formuloval.

Mám nastavené dva stavy skladu. Skladem:
https://i.imgur.com/A2dhlmy.jpg

Titulek (XML kanál) nastaven na 0 - protože Heureka.cz i Zboží.cz vyžaduje v XML když je produkt skladem zobraz "0"

https://i.imgur.com/hile4PK.jpg

Na objednávku:
https://i.imgur.com/AGUSgUQ.jpg

Titulek (XML kanál) nastaven na 7 - což znamená pro Heureka.cz i Zboží.cz stav "Do týdne"

To vše funguje XML jsou nahrané jak na Heureku i Zboží bez chyb.

Problém je u Google Merchant kde potřebuji pro mé nastavení "Stav skladu" data Skladem = "in_stock", Na objednávku = "out_of_stock"

Nemohu použít "Titulek (XML kanál)" protože mi zobrazuje buď 0 nebo 7. Nemohu ani použít "Datum dopravy (stav skladu)" protože mi zobrazuje sice "Skladem" nebo "Na objednávku" ale česky dle názvu Stavu skladu viz XML pro Merchant níže:

https://i.imgur.com/Bbg7VpZ.jpg

Řešení by bylo přidat do Stavu skladu druhou variantu "Titulek (XML kanál)" viz screen:

https://i.imgur.com/pq0mwn9.jpg

Pro Heureku a Zboží - 0 = skladem
Pro Merchant - in_stock = skladem

Snad jsem to napsal srozumitelně.

Díky
User avatar
Jan
Phoca Hero
Phoca Hero
Posts: 48403
Joined: 10 Nov 2007, 18:23
Location: Czech Republic
Contact:

Re: XML Root Element error

Post by Jan »

Ahoj, podívám se na to, momentálně je to možný změnit tak, že se přepíše výstup přes template override, soubor je:

components/com_phocacart/views/feed/tmpl/default.php
If you find Phoca extensions useful, please support the project
Post Reply