私が使用しているビューの出力には、次のコードが含まれています。
<li class="views-row views-row-1 views-row-odd views-row-first">
<div class="views-field-field-cimg-fid">
<span class="field-content">....</span>
</div>
<div class="views-field-field-yma-value">
<span class="field-content">...</span>
</div>
<div class="views-field-field-price-value">
<span class="field-content">....</span>
</div>
<div class="views-field-changed">
<span class="field-content">....</div></span>
</div>
</li>
追加したい<div id="test">....</div>
2つのフィールドをグループ化する次のsnippet.toの周り
<div id="test">
<div class="views-field-field-yma-value">
<span class="field-content">...</span>
</div>
<div class="views-field-field-price-value">
<span class="field-content">....</span>
</div>
</div>
ループ
<?php foreach ($fields as $id => $field): ?>
<?php if (!empty($field->separator)): ?>
<?php print $field->separator; ?>
<?php endif; ?>
<<?php print $field->inline_html;?> class="views-field-<?php print $field->class; ?>">
<?php if ($field->label): ?>
<label class="views-label-<?php print $field->class; ?>">
<?php print $field->label; ?>:
</label>
<?php endif; ?>
<?php
// $field->element_type is either SPAN or DIV depending upon whether or not
// the field is a 'block' element type or 'inline' element type.
?>
<<?php print $field->element_type; ?> class="field-content"><?php print $field->content; ?></<?php print $field->element_type; ?>>
</<?php print $field->inline_html;?>>
<?php endforeach; ?>
divタグをループに追加する方法
[編集の表示]画面で、[詳細]をクリックします。その最下部に、「テーマ:情報」と呼ばれるビットがあります。 「情報」リンクをクリックすると、新しいウィンドウがポップアップし、ビューのテーマのオーバーライドが表示されます。各カテゴリは、ビューのさまざまな部分を変更します。
各タイプにリストされているすべてのファイル名は、このビューをオーバーライドするために使用できる使用可能なファイル名を、特定性の低いものから最も特定性の高いものの順に示します。したがって、最初のビューを選択すると、おそらくすべてのビューがオーバーライドされますが、最後のビューを選択すると、特定のディスプレイでそのビューのみがオーバーライドされます。
オーバーライドするものを選択したら、リンクをクリックして、そこに表示されているすべてのコードをクリップボードにコピーします。次に、テーマディレクトリに移動し、以前に選択したファイル名でファイルを作成し、コピーしたコードに貼り付けます。今すぐ<div>
好きな場所に付けたいタグ。
Drupalの[テンプレートファイルの再スキャン]ボタンをクリックして、新しいテーマオーバーライドファイルを取得する必要があります。ビューは、ビューに使用するファイルを1つ配置することで、ビューで使用するファイルを示します太字で使用します。
編集:これを書いているとき、Drupal 7の手順を実行していましたが、Drupalの手順は非常に似ていると思います= 6。
次の編集:貼り付けたコードから、新しいdivタグを配置する最も適切な場所は次のようになります(アスタリスクを参照)。
**<div id="my-custom-div">**
<?php foreach ($fields as $id => $field): ?>
<?php if (!empty($field->separator)): ?>
<?php print $field->separator; ?>
<?php endif; ?>
<<?php print $field->inline_html;?> class="views-field-<?php print $field->class; ?>">
<?php if ($field->label): ?>
<label class="views-label-<?php print $field->class; ?>">
<?php print $field->label; ?>:
</label>
<?php endif; ?>
<?php
// $field->element_type is either SPAN or DIV depending upon whether or not
// the field is a 'block' element type or 'inline' element type.
?>
<<?php print $field->element_type; ?> class="field-content"><?php print $field->content; ?></<?php print $field->element_type; ?>>
</<?php print $field->inline_html;?>>
<?php endforeach; ?>
**</div>**
私は通常これを少し実験するので、exactスポットをオフハンドで伝えるのは少し難しいですが、うまくいけば、上記は近いでしょう...
@Frederikの答えは私にはうまくいきませんでした。ビューの特定のフィールドの周りにdivをラップするだけの場合は、いくつかのロジックを組み込む必要があります。コードは、ビューループ全体の周りに追加のdivをラップするだけだと思います。これは私のために働きました:
<?php foreach ($fields as $id => $field): ?>
<?php if (!empty($field->separator)): ?>
<?php print $field->separator; ?>
<?php endif; ?>
<?php if ($field->class=="title"):?>
<div class="extra-savoir-faire">
<?php endif; ?>
<?php print $field->wrapper_prefix; ?>
<?php print $field->label_html; ?>
<?php print $field->content; ?>
<?php print $field->wrapper_suffix; ?>
<?php if ($field->class=="field-space"):?>
</div>
<?php endif; ?>
<?php endforeach; ?>
キーは$field->class
フィールドごとにチェックする識別物として。したがって、これにより、タイトルの前と "field_space"ビューフィールドの後にdivをスローすることができました。これを、「行スタイル出力」のテーマ情報にリストされている最も具体的なtpl.phpファイルとして、views-view-fields.tpl.php
を開始ベースとして使用します。