У меня есть представление Drupal 6, в котором есть несколько аргументов. Я хочу добавить каждый уникальный набор аргументов / страницу в карту сайта, созданную модулем XML Sitemap в Drupal. У меня есть собственный модуль, который создает пункт меню для каждой возможной комбинации аргументов, которая передается в представление, так как их конечное число.
Я попробовал следующие направления:
http://drupal.org/node/507674
но это не сработало.
Затем я попытался добавить эти ссылки программно, используя этот превосходный комментарий:
http://drupal.org/node/711100#comment-3150592
Однако из 150+ ссылок, которые я создаю в цикле вызовов xmlsitemap_link_save (), только 1 была сохранена. Ссылочная запись не обладает какими-либо уникальными характеристиками, которые я мог бы обнаружить по сравнению с другими записями, которые не были добавлены на карту сайта.
Я строю все ссылки в массиве $ links. Вот типичная запись массива:
$links[] = array(
'type' => 'mymodulename',
'id' => '3000-10000',
'loc' => 'washington-dc',
'lastmod' => time(),
'changefreq' => 4600,
'priority' => 0.5,
);
Я пытаюсь описать URL:
example.com / Вашингтон-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-карта сайта, и об ошибках не сообщается
Есть идеи, что я делаю не так?