Drupal → Изменяем содержимое RSS ленты

04.03.2010

При генерации RSS ленты, для каждой ноды вызывается хук hook_nodeapi() с параметром $op равным rss item. Поэтому можно из своего модуля изменять любые свойства ноды, которые выводятся в ленте, например тизер или заголовок.

Добавляем к тексту список тегов:

/**
 * Реализация hook_nodeapi()
 */
function mymodule_nodeapi(&$node, $op, $a3 = NULL, $a4 = NULL) {
  if ($op == 'rss item') {
    $tags = array();
    foreach ($node->taxonomy as $tag) {
      $tags[] = $tag->name;
    }

    $node->teaser .= '<p>Теги: ' . implode(', ', $tags) . '</p>';
  }
}

Добавляем к заголовку название раздела, в котором размещена нода:

/**
 * Реализация hook_nodeapi()
 */
function mymodule_nodeapi(&$node, $op, $a3 = NULL, $a4 = NULL) {
  if ($op == 'rss item') {
    $firstTerm = current($node->taxonomy);
    $node->title = $firstTerm->name . ': ' . $node->title;
  }
}
Написанное актуально для
Drupal 6.x
Похожие записи

Добавить комментарий