ビュー フィールドまたはビュー tpl.php で、イメージ フィールドにアップロードされた画像の数を表示したいと考えています。これどうやってするの?私のイメージフィールドは、boatimages と呼ばれます。これを試してみましたが、正しい数値ではなく 0 として出力されます: < ? php 印刷数($fields->field_boatimages) ?>
2 に答える
Ack. count() がそのように機能するとは思わない。
ビューを使用してこれを実行しないのはなぜですか? Arguments > Settings を見ると、これに必要なすべてのように見える「display record count」が表示されます。
私の提案は、 devel モジュールをインストールし、構造を知りたい場合は関数 dpm を使用して変数を出力することです (print_r() も機能する場合があります)。count が機能しない場合は、間違ったデータで使用している可能性があります。
または、フィールドのデータベースを照会することもできます。drupal 7 の手順を説明しますが、drupal 6 も同様です。
テーブル field_data_field_boatimages を確認してください。単一の entity_id に関連付けられた画像のリストがどのように表示されるかを確認してください
次に、このクエリを実行します
SELECT COUNT(*) FROM `field_data_field_boatimages` WHERE entity_id = ###
### は、知りたい entity_id です。arg(1) if arg(0) == ページ内のノードを探すことで取得できます。
これで、php power を使用して結果を出力するだけです。
$query = SELECT COUNT(*) FROM `field_data_field_boatimages` WHERE entity_id = :eid
$result = db_query($query, array(':eid', $nid))->fetchField();
echo $result;
Drupal 6 も非常に似ています。テーブル名とクエリ構文が少し違うだけです。たとえば、fetchField() の代わりに db_result を使用する
とにかく頑張ってください!