無制限の値を受け入れるフィールド内の値の数を数える[クローズ]


7

無制限の値を含むことができる画像フィールドがあります。このフィールドに含まれる画像値の数をビューに表示するにはどうすればよいですか?

私はDrupal 7を使用しています。

回答:


4

最初に計算フィールドモジュールをインストールしてから、フィールドの値をカウントする変数内にforループを記述してから、この変数を出力します。


1
計算フィールドモジュールを参照するためのThx。ループを書く必要はありませんでした。カウントを使用しました。計算コード:$ entity_field [0] ['value'] = count(field_get_items($ entity_type、$ entity、 'field_images')); 表示コード:$ display_output = $ entity_field_item ['value']; このフィールドを作成した後、私は価値観をビューに表示できました。
jeroen 2012

11

Drupal 7にはこれをネイティブで行う方法があります。

  1. 「集計を使用」を「はい」に設定します
  2. ファイルフィールドなど、複数の値を含むフィールドを追加する
  3. 集計設定をCOUNT DISTINCTに設定します

シンプル。ただし、これによりすべてのフィールドの集計が有効になりますが、他のフィールドのデフォルト設定により、それらのフィールドは正常に動作します。


2

良い質問。これを行うにはより良い方法または組み込みの方法があるかもしれませんが、そうでない場合は、最初group multiple values togetherに、処理しているフィールドの構成オプションを確認してから、そのビューと問題のフィールドのテンプレートを作成します。

<?php
$foo=node_load($row->nid);
if (count($foo->field_photo)) {
  print 'There are ' . count($foo->field_photo) . ' photos in this node.';
}

すぐに一緒にという名前のビュー投げることでfoofield_photo、その中には、これはと呼ばれるテンプレートになりますviews-view-field--foo--field-photo-fid.tpl.php


優秀な!ここに追加のモジュールは必要ありません!私はあなたのスニペットを入れましたviews-view-fields--MYVIEWNAME.tpl.php
AvL 2013年

1

ビューを使用すると、ビューにフィールドが表示され、ビューフィールドはエンティティフィールドのデルタになります。

「デルタ」は単にカウントを意味します。

たとえば、サイトの[フィールドの追加]ダイアログの[コンテンツ:添付ファイル(upload:delta)]というフィールドが表示されます。これを追加すると、そのノードに添付されているファイルの数を表示できます。

このフィールドを構成するときは、おそらく「結果なしの動作」セクションに注意を払い、delta = 0などの場合は非表示にする必要があります。

HTH。


このフィールドは、ノードに添付されているすべてのファイルの合計ですか?もしそうなら、これは彼が他のファイルフィールドを持っていない場合にのみ機能しますよね?
Jimajamma

このビューフィールドは、そのフィールドで添付されたすべてのファイルの合計になります。したがって、他のファイルフィールドがあり、それらは表示されません。しかし、問題は、1つの添付ファイルフィールドのファイル数をどのように表示するかです。
paul-m

私が尋ねた理由は、少なくともdrupal 6では、デルタフィールドは個々のフィールドのデルタを示すためです。たとえば、5つのファイルがある場合、各行に1つずつ0、1、2、3、4と表示されます。それらすべての数のように5ではありません。だから私の質問は本当にdrupal 7にあります。フィールドのすべてのコンテンツの数を含む別のデルタフィールドがあるか、または全体としてノードに添付されているファイルの数を示すフィールドがあります。
ジマジャンマ2012

@Jimajammaあなたはリグスデルタなので、配列内の位置をoudに与えます。
jeroen 2012

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.