最近の更新

関連


その他いろいろ

多機能フィードリーダSynapse製作中

2月までは目が回るほど忙しい

MODxでつくる! 最強のCMSサイト カバー
MODxでつくる! 最強のCMSサイト

GoogleSiteMap_XML 0.1 をMODxで利用

Etomite用スニペットGoogleSiteMap_XML 0.1 をMODxで利用
初出:2007年03/31 更新:2007年03/31

この文書のキーワード: MODx, PHP

GoogleSiteMap_XMLとは

Etomite(MODxの前身)用にNutt氏によって書かれた、 指定ID以下の全ドキュメントをGoogle SitemapのRSSとして書き出すスニペットです。

GoogleSiteMap_XMLの入手・修正

Etomiteから、 GoogleSiteMap_XMLを入手します。 (リファラで弾かれるので一旦EtomiteにアクセスしてからURL入力してください)

このまま利用すると、メニュー非表示の項目までサイトマップに含めてしまうので、以下の修正を加えます。

129-131行目付近

検索対象外のページと、メニュー非表示のページを除外する:
        $children = $funcEtomite->getActiveChildren($listParent, "menuindex", "ASC", "id, editedon");
        foreach($children as $child)
            {
            $id = $child['id'];
            $url = "http://www.yoursite.com/[~".$id."~]";
            $date = $child['editedon'];
            $date = date("Y-m-d", $date);
↓
        $children = $funcEtomite->getActiveChildren($listParent, "menuindex", "ASC", "id, editedon, searchable, hidemenu");
        foreach($children as $child)
            {
            if ($child['searchable'] == 0) continue;
            if ($child['hidemenu'] != 0) continue;
            $id = $child['id'];
            $url = "http://www.yoursite.com/[~".$id."~]";
            $date = $child['editedon'];
            $date = date("Y-m-d", $date);

さらに改造

上記の変更で正しくXMLを吐くようになりますが、http://www.yoursite.com/を自分のサイトのURLに変える必要があったり、blogの記事(大抵メニューには非表示)などをサイトマップに含めるオプションがなかったりとオリジナルのスニペットには不満な点が多いので、さらに数ヶ所変更を加えた物を置いておきます。 変更点は次の通りです。

GoogleSiteMap_XML v0.1

参考リンク