Drupal允许查看未发布的内容
我继承了一个Druap5站点,它在发布时显示内容,但在编辑内容表单的“发布选项”部分没有选中 我确认节点的DB中的状态为0。所以它应该是不可见的 我的第一个猜测是我登录了,这就是为什么我可以看到它,但我注销了,我仍然可以看到它。我尝试了不同的浏览器和相同的东西,所以不是那样 另外,未发布的节点出现在搜索结果中,我最初认为这是一个过时的搜索缓存,但可能有所不同Drupal允许查看未发布的内容,drupal,publish,drupal-5,Drupal,Publish,Drupal 5,我继承了一个Druap5站点,它在发布时显示内容,但在编辑内容表单的“发布选项”部分没有选中 我确认节点的DB中的状态为0。所以它应该是不可见的 我的第一个猜测是我登录了,这就是为什么我可以看到它,但我注销了,我仍然可以看到它。我尝试了不同的浏览器和相同的东西,所以不是那样 另外,未发布的节点出现在搜索结果中,我最初认为这是一个过时的搜索缓存,但可能有所不同 见过这样的事吗?有什么想法吗?很奇怪。没有答案,只是猜测: 尝试访问管理员/内容/节点设置,然后单击“重建权限” 还可以清除缓存管理/设置
见过这样的事吗?有什么想法吗?很奇怪。没有答案,只是猜测: 尝试访问管理员/内容/节点设置,然后单击“重建权限”
还可以清除缓存管理/设置/性能检查您对匿名用户的权限。好像他们有错误的许可证 您正在使用视图吗?如果是这样,请确保过滤器设置为仅显示已发布
我在评论方面遇到了类似的问题,这导致了一些极好的垃圾邮件机会,直到我发现它。你在网站上安装的评论中提到过。该模块(以及其他一些模块,例如)覆盖默认的Drupal节点访问机制,以提供额外/更细粒度的权限设置 因此,我猜测该模块中的权限配置对于您期望的结果是错误的。据我回忆,它允许每个内容类型(为作者和角色定义)设置单独的权限集。您应该查看内容类型编辑/定义页面-该模块应该添加一个选项卡来配置权限。还要检查模块的readme.txt,因为它可能会给出一些额外的提示
如果这没有帮助,您应该检查是否也安装了其他节点访问模块。如前所述,它们的数量相当多,并且它们之间的交互不容易确定(如果可能的话,应该只使用一个)。使用hook\u node\u access()时,所有访问模块都会覆盖默认设置。很可能这就是问题所在。因此,您需要在内容访问部分调整这些设置 这不是最好的解决方案。但是,如果您在此期间需要一些东西,您可以始终将以下代码放在node.tpl.php文件中:
if(!$node->status && $user->uid != 1){
添加代码后:
<div id="node-<?php print $node->nid; ?>" class="node<?php if ($sticky) { print ' sticky'; } ?><?php if (!$status) { print ' node-unpublished'; } ?> clear-block">
<?php print $picture ?>
<?php
if(!$node->status && $user->uid != 1){
?>
<?php if ($page == 0): ?>
<h2><a href="<?php print $node_url ?>" title="<?php print $title ?>"><?php print $title ?></a></h2>
<?php endif; ?>
<div class="meta">
<?php if ($submitted): ?>
<span class="submitted"><?php print $submitted ?></span>
<?php endif; ?>
<?php if ($terms): ?>
<span class="terms"><?php print $terms ?></span>
<?php endif;?>
</div>
<div class="content">
<?php print $content ?>
</div>
<?php
if ($links) {
print $links;
}
}//if for published node
?>
</div>
奇怪的是,我也可以转到未发布的实际页面。在我们的设置中,有一个搜索视图,但没有可用的已发布过滤器。就权限而言,节点模块中唯一检查匿名用户的是访问内容。还有一个称为内容访问的模块,但它只提供访问,不提供编辑。还有其他想法吗?你是直接查看节点还是如何查看节点?只允许用户1是一个糟糕的攻击。这应该是一个临时解决方案。正如我在帖子中所说的。如果您想将其转变为一个可用的长期解决方案,您可以更改&&$user->uid==1,以允许任何允许管理节点的用户。只是为了记录。。。这也发生在我身上,因为我有两个模块控制发布状态:和。节点被Moder8批准并发布,但LM Paypal仍然说它们未发布,而事实上它们是未发布的,所以节点被发布时没有付费。