Как добавить представление в карту сайта, созданную модулем XML Sitemap в Drupal? - PullRequest
3 голосов
/ 24 февраля 2011

У меня есть представление 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-карта сайта, и об ошибках не сообщается

Есть идеи, что я делаю не так?

1 Ответ

0 голосов
/ 13 января 2017
'id' => 'Unique ID'  
'loc' => 'example.com/washington-dc/3000-1000', Full path.
...