いろんなサイトを見てきたが、自分が求めてるものと違ってたので書きました。
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}";
}