Drupal5 module XML sitemap 1.6
By 投稿日:2008年 10月 27日更新日:2009年 12月 13日
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