Drupal позволяет просматривать неопубликованный контент - PullRequest
3 голосов
/ 23 октября 2009

Я унаследовал сайт Druapl5, и он показывает контент, когда опубликованный не отмечен в разделе «Параметры публикации» формы редактирования контента.

Я подтвердил, что состояние 0 в БД для узла. Так что должно быть не видно.

Мое первое предположение было, что я вошел в систему, и поэтому я мог видеть это, но я вышел из системы, и я все еще мог видеть это. Я попробовал другой браузер и то же самое, так что это не так.

Кроме того, в результатах поиска появляются неопубликованные узлы, которые я изначально считал устаревшим поисковым кэшем, но может быть чем-то другим.

Когда-нибудь видел что-нибудь подобное? Есть идеи?

Ответы [ 5 ]

3 голосов
/ 24 октября 2009

Вы упомянули в комментарии, что на сайте установлена ​​ Content Access . Этот модуль (как и некоторые другие, например, ACL ) переопределяет механизм доступа к узлам Drupal по умолчанию, чтобы предоставить дополнительные / более точные настройки разрешений.

Так что я предполагаю, что конфигурации разрешений в этом модуле настроены неправильно для достижения желаемых результатов. Насколько я помню, он допускает отдельные наборы разрешений для каждого типа контента (определенного для авторов и ролей). Вы должны просмотреть страницы редактирования / определения вашего типа контента - этот модуль должен добавить вкладку для настройки разрешений. Также проверьте readme.txt модуля, так как он может дать некоторые дополнительные советы.

Если это не помогает, вам следует проверить, установлены ли и другие модули доступа к узлам. Как уже упоминалось, их довольно много, и определить их взаимодействие нелегко (если возможно, следует стремиться использовать только один).

2 голосов
/ 24 октября 2009

Вы используете Виды? Если это так, убедитесь, что у вас установлен фильтр, показывающий только Опубликованные.

Я столкнулся с подобной проблемой с комментариями, которая приводила к отличным возможностям рассылки спама, пока я не обнаружил ее.

1 голос
/ 24 октября 2009

Проверьте ваши разрешения для анонимных пользователей. Похоже, где-то у них неправильные разрешения.

1 голос
/ 23 октября 2009

Довольно странно. Нет ответов, только догадки:

Попробуйте получить доступ к admin / content / node-settings и нажмите «Восстановить разрешения».

А может быть очистить кеш admin / settings / performance

0 голосов
/ 24 октября 2009

Все модули доступа переопределяют настройки по умолчанию при использовании hook_node_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>
...