cakephp3でsitemap.xml作成
いろんなサイトを見てきたが、自分が求めてるものと違ってたので書きました。
itmesの中身と TabelNameをコンテンツのテーブル に書き換えれば、使えます。
$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、各コンテンツ配下にあるアイテムなどある場合は使ってください。 全部直接書くよ!ってかたは,下記を消してください。
$tab_data = $this->TabelName->find(); foreach ($tab_data as $data) { $itmes[]['url'] = "{$data->id}"; }