【发布时间】:2011-02-26 19:31:03
【问题描述】:
我已经接管了现有的 Drupal 安装,并被要求从站点搜索结果中删除一个页面。我通过这个问题了解了 lullabot 教程:Hide Drupal nodes from search,但是当我真的只想排除单个页面时,它谈到了排除一类内容。
我已尝试从 search_index 表中手动删除该节点,但这似乎也不起作用。
对于从搜索索引中排除单个常规内容页面有何建议?
【问题讨论】:
我已经接管了现有的 Drupal 安装,并被要求从站点搜索结果中删除一个页面。我通过这个问题了解了 lullabot 教程:Hide Drupal nodes from search,但是当我真的只想排除单个页面时,它谈到了排除一类内容。
我已尝试从 search_index 表中手动删除该节点,但这似乎也不起作用。
对于从搜索索引中排除单个常规内容页面有何建议?
【问题讨论】:
问题是搜索索引遵循1)访问权限。为用户隐藏单个页面的模块是私有模块。允许每个节点访问设置的模块。然后搜索将遵循访问设置,并将隐藏页面从搜索结果中隐藏。
1) 技术上并不完全正确
【讨论】:
我只需要解决一些类似的问题(逐个节点从搜索索引中隐藏特定的 cck 字段) - 进行了一些跟踪,但结果证明这是答案:
<?php
function mymodule_nodeapi(&$node, $op, $a3 = NULL, $a4 = NULL) {
switch ($op) {
case 'view':
$nid = ---insert your node id here---;
if ($node->build_mode == NODE_BUILD_SEARCH_INDEX && $node->nid == $nid) {
unset($node);
}
break;
}
}
?>
【讨论】:
Module restrict_content 是您所需的完美工具
【讨论】: