如何在Drupal中的XML Sitemap模块生成的站点地图中添加视图?

时间:2011-02-24 15:24:19

标签: xml drupal drupal-6 drupal-views sitemap

我有一个Drupal 6视图,它有几个参数。我想将每个唯一的参数/页面集添加到Drupal中的XML Sitemap模块创建的站点地图中。我有一个自定义模块,为每个可能的参数组合创建一个菜单项,传递给视图,因为它们的数量有限。

我尝试按照以下说明操作: http://drupal.org/node/507674 但那没用。

然后我尝试使用这个优秀的评论以编程方式添加这些链接: http://drupal.org/node/711100#comment-3150592

然而,在我对xmlsitemap_link_save()的调用循环中创建的150多个链接中,只保存了1个。与未添加到站点地图的其他条目相比,链接条目没有我可以检测到的任何独特特征。

我在数组$ links中构建所有链接。这是一个典型的数组条目:

$links[] = array(
    'type' => 'mymodulename',
    'id' => '3000-10000',
    'loc' => 'washington-dc',
    'lastmod' => time(),
    'changefreq' => 4600,
    'priority' => 0.5,
);

我正在尝试描述网址:

  

example.com/washington-dc/3000-1000

然后循环整个$ links数组以保存每个链接:

foreach($links as $link) {
    xmlsitemap_link_save($link);
}

最后,所有这些代码都在函数中:

mymodule_xmlsitemap_links()

我从hook_cron调用:

function mymodule_cron() {
    mymodule_xmlsitemap_links();
    return true;
}

我已经确认:

  • 我的hook_cron()在cron
  • 期间被调用
  • 只保存了来自$ links的一个链接
  • 在sitepmap模块设置中处理的链接总数设置为250,对于我的$ links数组(~150)和现有站点地图(47个链接)来说已经足够了
  • 日志显示正在运行的XML站点地图生成,并且未报告错误

知道我做错了吗?

1 个答案:

答案 0 :(得分:0)

'id' => 'Unique ID'  
'loc' => 'example.com/washington-dc/3000-1000', Full path.