我接管了现有的Drupal安装,并被要求从网站搜索结果中删除单个页面。我通过这个问题了解了lullabot教程:Hide Drupal nodes from search,但是当我真的想要排除单个页面时,它会讨论排除一类内容。
我尝试从search_index表中手动删除节点,但这似乎也不起作用。
有关从搜索索引中排除单个常规内容网页的任何建议吗?
答案 0 :(得分:2)
我只需要解决类似问题(逐个节点地从搜索索引中隐藏特定的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;
}
}
?>
答案 1 :(得分:0)
问题在于搜索索引遵循1)访问权限。为用户隐藏单个页面的模块是私有模块。允许每节点访问设置的模块。然后,搜索将遵循访问设置,并将隐藏搜索结果中的隐藏页面。
1)技术上不完全正确
答案 2 :(得分:0)
模块restrict_content是您需要的完美工具