Drupal 6 <front> / node列出所有节点(不需要的)</front>

时间:2011-03-14 17:28:42

标签: drupal-6

没有特定节点ID的http://site/node列出每个节点,其中一些是私人用户消息,等等。如何限制对此路径的访问?它不应该触发404吗?

3 个答案:

答案 0 :(得分:1)

要限制对http://example.com/node的访问,您可以创建非常小而简单的自定义模块。有关如何创建简单模块的简单说明,请访问http://drupal.org/node/416986

将以下代码添加到.module文件将触发404(drupal_not_found):

/**
 * Implementation of hook_menu().
 */
function MODULENAME_menu() {
  $items = array();

  // Disable the default /node front page.
  $items['node'] = array (
    'title' => 'node',
    'page callback' => 'drupal_not_found',
    'access callback' => TRUE,
    'type' => MENU_CALLBACK,
  );

  return $items;
}

请务必将“MODULENAME”替换为您为模块选择的名称。

答案 1 :(得分:1)

http://site/node是Drupal网站的默认首页视图。

如果您想控制那里显示的内容,您可能希望使用Views和/或Panels

正如@yitznewton所提到的,您还需要查看某种明确的访问控制 - 依赖于从不猜测URL的人是一种很快就会失败的技术。如果您使用CCK,则功能已经存在,等待您使用它们。否则,请在Drupal.org上进行搜索,以查看部分选项。

答案 2 :(得分:0)

这只是首页,至少在我的安装中;取消选中节点上的“提升到优先”,或修改page-front.tpl.php

此外,如果您的某些节点是私有的,则需要某种访问控制,或者可以通过尝试随机ID来访问节点