web-dev-qa-db-ja.com

テンプレートを使用してフィールドセット内にビューブロックを作成する

一部のビューに新しい.tpl.phpを作成しようとしています。私はファイルを作成して要素を思いどおりに表示する方法を知っていますが、デフォルトのviews-view.tpl.phpを変更するだけで、ビューの表示方法が変更されますallビューが表示されます。

おそらく私はTheme:Informationを見て新しいファイルを作成し、それにviews-view--VIEW-NAME.tpl.phpのような名前のいずれかを使用できるようにする必要がありますが、これを行ってビューのテーマフォルダーにファイルを残すと、モジュールをクリックし、「テンプレートファイルの再スキャン」を押すと、それが検出されません。

ファイルを別の場所に配置する必要がありますか?

参考までに、私がやろうとしていることは、ビューのコンテンツをフィールドセット内に配置することです。

<fieldset class="fieldset collapsible form-wrapper"
 <legend>
   <span class="fieldset-legend">
     <a class="fieldset-title">
       <?php print $header;?>
     </a>
   </span>
 </legend>
 <div class="fieldset-wrapper">
    <?php if ($rows): ?>
        <div class="view-content">
          <?php print $rows; ?>
        </div>
    <?php elseif ($empty): ?>
        <div class="view-empty">
            <?php print $empty; ?>
        </div>
    <?php endif; ?>

    <?php if ($pager): ?>
        <?php print $pager; ?>
    <?php endif; ?>    

 </div>

これは機能していると言いましたが、別の.tpl.phpファイルに入れて、特定のビューにのみ適用しようとしています。また、必須ではありませんが、フィールドセットを折りたたみ可能にする簡単な方法があると便利です。

3
Perbert

テンプレートファイルは、ビューのテーマディレクトリではなく、テーマディレクトリに配置します。そこで検出されます。ビューテンプレートファイルを整理するために、テーマテンプレートディレクトリ内にビューディレクトリを用意したいと思います。私は、views-view-fields--brands--default.tpl.phpとviews-view-grid--brands--default.tpl.phpが入るように、ディレクトリ構造のビュー命名規則を模倣しています。

ビュー/ブランド/デフォルト

これは、ファイルを整理しておくための良い方法です。

3
Jepedo

Drupal 6にはViewfield(http://drupal.org/project/viewfield)があります。これはあなたがやりたいことを手助けしてくれると思います。 D7への移植に関する議論に問題があり、誰かが試してみることができる最初のD7移植さえもリリースしました。ここでそのキューを参照してください: http://drupal.org/node/704014

これにより、コンテンツタイプを使用してビューを設定し、ユーザーが制御できるようにするパラメーターを定義したり、ビューで何かを実行したりするかどうかを定義したりできます。

3
rgbivens