![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 1 883 Pomógł: 231 Dołączył: 20.03.2005 Skąd: Będzin Ostrzeżenie: (0%) ![]() ![]() |
Witam,
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]
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.
Proszę o pomoc w poprawnym utworzeniu tagu image, z poprawnym CDATA. Ten post edytował Tomplus 21.11.2017, 12:38:50 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
I jaki to ma zwiazek z OOP? No zaden. Przenosze
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 1 883 Pomógł: 231 Dołączył: 20.03.2005 Skąd: Będzin Ostrzeżenie: (0%) ![]() ![]() |
Temat miał być tylko w dziale PHP.
Cytat('Nospor') Co mialo to wspolnego z OOP tylko w dziale PHP ? Niewiele. Dlatego mówię. Miało być w głównym dziale czyli PHP - tak jak teraz. Nie wiem dlaczego rozpocząłem wątek w OOP. Pewnie dlatego że kliknąłem przez pomyłkę ten dział. Ten post edytował Tomplus 21.11.2017, 12:46:00 |
|
|
![]()
Post
#4
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat Niewiele. Po edycji swojego posta, to on mial sens. Ja pytalem zanim go zedytowales, kiedy to nie mial jeszcze zadnego sensu (IMG:style_emoticons/default/smile.gif)
Dlatego mówię |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 1 883 Pomógł: 231 Dołączył: 20.03.2005 Skąd: Będzin Ostrzeżenie: (0%) ![]() ![]() |
Masz rację. Logika moich wypowiedzi trochę jest dzisiaj wypaczona (IMG:style_emoticons/default/smile.gif)
W innym temacie, czy znasz błąd edycji jaki pojawia się podczas próby modyfikacji treści głównego wątku? U mnie jest rozwalony cały kod. |
|
|
![]()
Post
#6
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Forum czasami robi takie numery przy edycji...
Co do tematu: pokaz cala klase, bo generalnie createCDATASection() dziala prawidlowo. Z kodu co pokazales wynika, ze mocno to przekombinowales |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 1 883 Pomógł: 231 Dołączył: 20.03.2005 Skąd: Będzin Ostrzeżenie: (0%) ![]() ![]() |
Jerdyna metoda nie używana w tej chwili to:
addCData($xml, $cdata_text) Wrzuciłem kod tutaj: https://gist.github.com/Tomirad/08eb9f59368...0f460279741232a |
|
|
![]()
Post
#8
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
No i zgodnie z manualem powinno byc poprostu
$this->xml_http->createCDATASection('Some text'); |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 1 883 Pomógł: 231 Dołączył: 20.03.2005 Skąd: Będzin Ostrzeżenie: (0%) ![]() ![]() |
Nie wiem gdzie znalazłeś to w manualu, ale dla klasy: http://php.net/manual/en/class.simplexmlelement.php nie ma takiej metody.
|
|
|
![]()
Post
#10
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Bylem swiecie przekonany ze uzywasz DOM. Wszakze to addChild mi nie pasowalo.... teraz juz wiem czemu (IMG:style_emoticons/default/biggrin.gif)
|
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 1 883 Pomógł: 231 Dołączył: 20.03.2005 Skąd: Będzin Ostrzeżenie: (0%) ![]() ![]() |
To może bez sensu jest to że korzystam z tej klasy, a nie DOMDocument?
|
|
|
![]()
Post
#12
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
No z tego co widze do simplexml nie wspiera CDATA.
Na szybko znalazlem to obejscie https://stackoverflow.com/questions/6260224...implexmlelement ktore jest podobne do tego co miales wczesniej, ale ma pare subtelnych roznic i moze zadzialac (IMG:style_emoticons/default/wink.gif) |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 1 883 Pomógł: 231 Dołączył: 20.03.2005 Skąd: Będzin Ostrzeżenie: (0%) ![]() ![]() |
Naprawdę bardzo subtelne.
Zastosowałem powyższy kod z tymi delikatnymi zmianami jako nowa klasa
I oczywiście zainicjować należy ją zamiast SimpleXMLElement(); ważne image:* są poprawne, w innych kombinacjach nie były z nimi problemy jako tagi. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.09.2025 - 19:50 |