3

Druapl5サイトを継承しましたが、[コンテンツの編集]フォームの[公開オプション]セクションで、公開時にコンテンツが表示されていることがチェックされていません。

ノードのDBでステータスが0であることを確認しました。したがって、表示されないようにする必要があります。

私の最初の推測は、私がログインしていて、それが私がそれを見ることができた理由でした、しかし私はログアウトしました、そして私はまだそれを見ることができました。別のブラウザで同じことを試したので、そうではありません。

また、元々古い検索キャッシュだと思っていた検索結果に未公開のノードが表示されていますが、何か違うかもしれません。

このようなものを見たことがありますか?何か案は?

4

5 に答える 5

3

コメントで、コンテンツアクセスがサイトにインストールされているとおっしゃいました。このモジュール(およびACLなどの他のいくつかのモジュール)は、追加の/よりきめ細かい許可設定を提供するために、デフォルトのDrupalノードアクセスメカニズムをオーバーライドします。

したがって、私の推測では、そのモジュールのアクセス許可の構成は、目的の結果に対して正しく構成されていません。私が覚えている限り、コンテンツタイプ(作成者とロールに対して定義されている)ごとに個別のアクセス許可セットを許可します。コンテンツタイプの編集/定義ページを確認する必要があります。アクセス許可を構成するために、そのモジュールによって追加されたタブがあるはずです。モジュールのreadme.txtも確認してください。追加のヒントが得られる場合があります。

それでも問題が解決しない場合は、他のノードアクセスモジュールもインストールされているかどうかを確認する必要があります。前述のように、それらの数はかなり多く、それらの相互作用を判断するのは簡単ではありません(可能であれば、1つだけを使用することを目指す必要があります)。

于 2009-10-24T12:58:42.250 に答える
2

ビューを使用していますか?その場合は、公開済みのみを表示するようにフィルターが設定されていることを確認してください。

私はコメントで同様の問題に遭遇しました。それは私がそれを発見するまでいくつかの素晴らしいスパムの機会につながりました。

于 2009-10-23T20:09:39.493 に答える
1

匿名ユーザーの権限を確認してください。どこかで彼らは間違った許可を持っているようです。

于 2009-10-23T20:05:37.923 に答える
1

かなり奇妙です。答えはありません、推測するだけです:

admin / content / node-settingsにアクセスして、[アクセス許可の再構築]をクリックしてみてください。

そして多分キャッシュ管理/設定/パフォーマンスをクリアします

于 2009-10-23T19:26:54.427 に答える
0

すべてのアクセスモジュールは、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>
于 2009-10-24T18:08:54.833 に答える