2

私は drupal を初めて使用し、ビューのテーマを設定する方法を理解しようとしています。現在、タイトル、画像、本文のフィールドを持つカテゴリというコンテンツ タイプがあります。上記のコンテンツ タイプのビューを作成して、作成したすべてのカテゴリのビューを一覧表示できるようにしました。ビューのテーマをカスタマイズするために、テーマ フォルダーにビューというフォルダーを作成し、次のビュー ファイルを作成しました。

  1. ビュー-ビュー-フィールド--plugin-categories.tpl.php
  2. ビュー-ビュー--プラグイン-categories.tpl.php
  3. views-view-unformatted--plugin-categories.tpl.php

これは、現在最初のファイルにあるものです。

<div class="<?php print $classes; ?>">


  <?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 ($more): ?>
    <?php print $more; ?>
  <?php endif; ?>


</div><?php /* class view */ ?>

$rows の代わりに、print $field['image'] と print $field['body'] を使用するのにうんざりしましたが、この方法は機能しているようです。ビューを使用して表示されるカテゴリ内の 3 つのフィールドにテーマを設定する方法について教えてください。

4

1 に答える 1

2

このようにテンプレートに名前を付ける必要があります

views-view-fields--<machine-name-of-your-view>.tpl.php

上記から、あなたのビューは「plugin-categories」と呼ばれていると思います。確認する簡単な方法は、編集ページでビューを編集し、URL を確認することです。/admin/structure/views/view/YOUR-VIEW'S-MACHINE-NAME/editの形式にする必要があるため、そこから取得できます。

名前が正しいことを確認したら、キャッシュをクリアして、Drupal が新しいテンプレートを取得していることを確認します。問題の 3 つのフィールドの出力を変更するには、3 つすべてではなく、上記の 1 つだけが必要です。

キャッシュをクリアすると、Drupal が新しいテンプレートを取得するはずです。何が機能していないかについては正確には言及していませんが、機能していないだけなので、念のため、名前付けとキャッシュについて説明したいと思います。ここで、このビュー テンプレートで特定のフィールドを出力するには、次のように呼び出します。

$fields['your-field-machine-name']

したがって、 $fields['body'] ( 's' が欠落していると思います)

このテンプレートでは、$rows について何も記述しないでください。$rows について何かある場合は、正しいビュー テンプレートからコピーして貼り付けていません。上記の構文を使用して任意の順序でビューに表示するようにフィールドを出力し、任意の css クラスなどに配置するだけです。

それがうまくいくかどうか教えてください!

于 2013-03-20T21:03:21.037 に答える