icon: module

Drupal5 module XML sitemap 1.6

Drupal用モジュール XML sitemapは、GoogleSitemapや、YST SiteExplorerに対応した XML形式のサイトマップ情報を出力するモジュール。

しかし、ノード毎の sitemapへの出力/非出力の設定などは出来ないのでカスタマイズしてみた。(アドレスをひとつひとつ登録する手順を踏めば出来ない事も無い)

例えば、ノードタイプが'page'と、'story'のノードのみ出力したい場合 xmlsitemap_node.module ファイルの 64行から69行の SQL文を定義している部分を書き換える。

@@ -66,5 +66,5 @@
     LEFT JOIN {url_alias} ua ON ua.pid = xn.pid
     WHERE n.status > 0
-    AND (n.type NOT IN ('". implode("', '", $excludes) ."') AND xn.priority_override IS NULL OR xn.priority_override >= 0)
+    AND (n.type NOT IN ('". implode("', '", $excludes) ."') AND (n.type IN ('story','page') ) AND xn.priority_override IS NULL OR xn.priority_override >=0)
     AND n.nid <> %d";
   $result = db_query(db_rewrite_sql($sql), _xmlsitemap_node_frontpage());

Drupalをマルチサイトで運営している場合、こういったハードコーティングで対応してしまったモジュールの配置をするディレクトリは、「drupal/modules/」(そもそも、ここには core以外のファイルを置くべきでは無い。)や、「drupal/sites/all/modules」ではなく、「drupal/sites/そのサイト/modules」にするべきである。

この記事のトラックバックURL:

http://diary.haz.jp/trackback/101