0

これは非常に特別な質問なので、どんな入力でも歓迎されます...

drupal7サイトのカスタムビューテンプレートファイルでパネルとビューを使用しています。パネルにはビューが埋め込まれており、その下にいくつかの追加コンテンツがあります。URLから分類用語を取得した3つのコンテキストフィルターでビューを設定しました。これは正常に機能しています。だから私が

/search/ford/red

分類用語「ford」があり、分類用語「red」も適用されているすべてのアイテムを正常にプルします。

しかし、興味深いことに、用語の1つを語彙に存在するものに変更しても、最初の基準に合格したアイテムとの関係がない場合は、パネルが空白の状態でサイトラッパーが読み込まれます。いかなる種類のエラーもありません。検索フィルターボックスが消え、ページネーションが消え、ビューに埋め込まれている他のコンテンツも消えます。

ビューに適用されたフィルターの一部またはすべてについて、「フィルター値が検証されない場合に実行するアクション」に何を選択するかは重要ではないようです。結果が表示されないように設定しようとしましたが、ビューにカスタムテンプレートファイルも使用しているため、適用されないと思いました。

結果は出ないと思います。ただし、ユーザーがメニューから別のフィルターを選択したり、ビューに埋め込まれた他のコンテンツを選択したりできるように、検索バーが上部に表示されることも期待しています。

検索ボックスは、ビューテンプレートファイルに合わせてカスタマイズされています。表示されない唯一の理由は、ビュー自体がロードされない場合です。この場合、パネル全体が表示されていないように見えます。

これで続行できない場合は、詳細をお気軽にお問い合わせください。ありがとう。

4

1 に答える 1

0

将来の読者が drupal の多くの原因不明の穴を経験している場合、この未発表のエラーを防ぐために私がしなければならなかった完全なハックを次に示します。

私のカスタム ビューでは、サイズを確認し、$view->result空の場合は再定義する必要がありました。

<?php if(sizeof($view->result) < 1): $view->result = array(0 => array()); ?>
<div class="no-results">
    There are no results.
</div>
<?php else: ?>
--- normal view loop here ---
<?php endif; ?>

いいえ、結果ループにカウント プロビジョニングを追加するだけでは機能しませんでした。drupal がビューをどのように処理するかはわかりませんが、結果の配列を空にすると、このパネルの内容が表示されません。

欠点 - このパネルに埋め込まれた他のコンテンツはまだ表示されないため、このパネルの下に別の埋め込みビューがあると、不思議なことに消えてしまいます。管理者には、このページにフィルター可能なインデックス以外を入力することはできないと伝えておきます。Phooey、でもそれは drupal の生活です... POS。

于 2013-02-01T02:10:16.963 に答える