Mam prośbę o pomoc w sprawie rozwiązania kwestii tworzenia tagów sitemap wg standardu Google. W sieci nie znalazłem żadnej pomocy w tej kwestii, więc może tutaj ktoś będzie znał odpowiedź.
Mam działający kod tworzący Sitemap. Generuje poprawnie z wyjątkiem <![CDATA[]] które wygląda tak: <![CDATA[]]>
Elementy standardu Google tworzę poprzez metodę addImage(), gdzie aby zadziałały tagi image:* muszę dodać poprawny schema, bez tego będę miał tagi: image > [loc, title, caption] zamiast image:image > [image:loc, image:title, image:caption]
private function addImage($siteurl, $imageUrl, $productName, $description) { $image = $siteurl -> AddChild('image:image', null, 'http://www.google.com/schemas/sitemap-image/1.1'); $image -> AddChild('image:loc', "<![CDATA[{$imageUrl}]]>"); $image -> AddChild('image:title', "<![CDATA[{$productName}]]>"); $image -> AddChild('image:caption', "<![CDATA[{$description}]]>"); }
W sieci znalazłem rozwiązanie do dodawania poprawnie CDATA, ale powyższym kodzie nie działa, z racji tego że w obiekt $image wydaje się pusty. Brak jakichkolwiek elementów, w porównaniu do $siteurl. Dlatego poniższa metoda nie działa, bo nie ma o co zahaczyć. Jednakże finalnie w pliku XML, mam wszystkie te pozycje.
private function addCData($xml, $cdata_text) { $node = dom_import_simplexml($xml); $dom = $node -> ownerDocument; $node->appendChild($dom -> createCDATASection($cdata_text)); }
Proszę o pomoc w poprawnym utworzeniu tagu image, z poprawnym CDATA.