いろんなサイトを見てきたが、自分が求めてるものと違ってたので書きました。

itmesの中身と

TabelNameをコンテンツのテーブル

に書き換えれば、使えます。


xml.php

        $xml_head = "<?xml version=\"1.0\" encoding=\"UTF-8\"?><urlset></urlset>";

$xml = new SimpleXMLElement($xml_head);
$xml->addAttribute('xmlns', 'http://www.sitemaps.org/schemas/sitemap/0.9');

$itmes = [
['url' => "url_1"],
['url' => "url_2"],
['url' => "url_3"],
['url' => "url_4"],
];

$tab_data = $this->TabelName->find();
foreach ($tab_data as $data) {
$itmes[]['url'] = "{$data->id}";
}

foreach ($itmes as $itme) {
$urlSxe = $xml->addChild('url');
$urlSxe->addChild('loc', $itme['url']);
}

$this->response->body($xml->asXML());


$this->TabelName、各コンテンツ配下にあるアイテムなどある場合は使ってください。

全部直接書くよ!ってかたは,下記を消してください。


xml.php

        $tab_data = $this->TabelName->find();

foreach ($tab_data as $data) {
$itmes[]['url'] = "{$data->id}";
}


myブログ 内容は同じです

https://keikun.hatenablog.com/entry/2018/09/18/164200