Отключение rss каналов (4.7)

Автор: B.X - 25.09/2006, пн - 16:05

чтобы убрать rss совсем, нужно модифицировать модуль node, как это описано здесь...
то есть...
находим в module/node.module
строку

  1. function node_feed($nodes = 0, $channel = array()) {

и сразу после неё добавляем:

  1. drupal_not_found();
  2. return;

всё... плюс в css нужно вставить стиль

  1. .main-content .xml-icon, .main-content .feed-icon {
  2. display: none;
  3. }

и ещё нужно убрать rss ссылку со всех страниц сайта...
в node.module (строка 1964) закомментируйте то, что выделено оранжевым цветом:

  1. <?php
  2. if (db_num_rows($result)) {
  3. /* Kerry - turn off to avoid placing link to xml/rss in page
  4. drupal_add_link(array('rel' => 'alternate',
  5. 'type' => 'application/rss+xml',
  6. 'title' => 'RSS',
  7. 'href' => url('node/feed', NULL, NULL, TRUE)));
  8. */
  9. ?>

в blog.module (строка 163):

  1. <?php
  2.     while ($node = db_fetch_object($result)) {
  3.       $output .= node_view(node_load($node->nid), 1);
  4.     }
  5.     $output .= theme('pager', NULL, variable_get('default_nodes_main', 10));
  6.     $output .= theme('feed_icon', url("blog/$account->uid/feed"));
  7. /* Kerry - turn off to avoid placing link to xml/rss in page
  8.     drupal_add_link(array('rel' => 'alternate',
  9.                           'type' => 'application/rss+xml',
  10.                           'title' => t('RSS - %title', array('%title' => $title)),
  11.                           'href' => url("blog/$account->uid/feed")));
  12. */
  13.     return $output;
  14.   }
  15.   else {
  16.     drupal_not_found();
  17.   }
  18. }
  19. ?>

и чуть ниже (строка 191):

  1. <?php
  2. while ($node = db_fetch_object($result)) {
  3.     $output .= node_view(node_load($node->nid), 1);
  4.   }
  5.   $output .= theme('pager', NULL, variable_get('default_nodes_main', 10));
  6.   $output .= theme('feed_icon', url('blog/feed'));
  7. /* Kerry - turn off to avoid placing link to xml/rss in page
  8.   drupal_add_link(array('rel' => 'alternate',
  9.                         'type' => 'application/rss+xml',
  10.                         'title' => t('RSS - blogs'),
  11.                         'href' => url("blog/feed")));
  12. */
  13.   return $output;
  14. }
  15. ?>

в taxonomy.module (строка 1232):

  1. <?php
  2. $breadcrumbs = array_reverse($breadcrumbs);
  3.           menu_set_location($breadcrumbs);
  4. /* Kerry - turn off to avoid placing link to xml/rss in page
  5.      drupal_add_link(array('rel' => 'alternate',
  6.                   'type' => 'application/rss+xml',
  7.                   'title' => 'RSS - '. $title,
  8.                   'href' => url('taxonomy/term/'. $str_tids .'/'. $depth .'/feed')));
  9. */
  10. $output = taxonomy_render_nodes(taxonomy_select_nodes($tids, $operator, $depth, TRUE));
  11. ?>

и в forum.module (строка 902):

  1. <?php
  2. if ($tid && !in_array($tid, variable_get('forum_containers', array()))) {
  3. /* Kerry - turn off to avoid placing link to xml/rss in page
  4.       drupal_add_link(array('rel' => 'alternate',
  5.                             'type' => 'application/rss+xml',
  6.                             'title' => 'RSS - '. $title,
  7.                             'href' => url('taxonomy/term/'. $tid .'/0/feed')));
  8. */
  9.       $output .= theme('forum_topic_list', $tid, $topics, $sortby, $forum_per_page);
  10.       $output .= theme('feed_icon', url("taxonomy/term/$tid/0/feed"));
  11.     }
  12. ?>

Комментарии

как в пятом не знаю, но по аналогии если смотреть, то вот строки:
в node.module
function node_feed с 1778 строки...
и начиная со строки 2376 этот код (первую строчку оставить как есть, а остальное попробуйте закомментировать и также в других модулях):

  1. <?php
  2. if (db_num_rows($result)) {
  3.     $feed_url = url('rss.xml', NULL, NULL, TRUE);
  4.     drupal_add_feed($feed_url, variable_get('site_name', 'Drupal') .' '. t('RSS'));
  5. ?>