it-swarm.com.de

Zählen Sie die Anzahl der Werte in einem Feld, das unbegrenzte Werte akzeptiert

Ich habe ein Bildfeld, das unbegrenzte Werte enthalten kann. Wie kann ich die Anzahl der in diesem Feld enthaltenen Bildwerte in Ansichten anzeigen?

Ich benutze Drupal 7.

7
jeroen

installieren Sie zuerst das Modul berechnetes Feld , dann sollten Sie eine for-Schleife innerhalb der Variablen schreiben, die den Wert des Felds zählt. Dann geben Sie einfach diese Variable aus.

4
abd

Es gibt eine Möglichkeit, dies nativ in Drupal 7) zu tun.

  1. Setzen Sie 'Aggregation verwenden' auf Ja
  2. Fügen Sie ein Feld hinzu, das mehrere Werte enthält, z. B. ein Dateifeld
  3. Setzen Sie die Aggregationseinstellungen dafür auf COUNT DISTINCT

Einfach. Dadurch wird jedoch die Aggregation für alle Felder aktiviert. Durch die Standardeinstellungen für andere Felder verhalten sie sich jedoch normal.

11
Lomax

Gute Frage. Möglicherweise gibt es eine bessere oder eingebaute Methode, aber wenn nicht, überprüfen Sie zuerst das group multiple values together Konfigurationsoption in dem Feld, mit dem Sie sich befassen, und erstellen Sie dann eine Vorlage für diese Ansicht und das betreffende Feld:

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

Durch schnelles Zusammenfügen einer Ansicht mit dem Namen foo mit einem field_photo darin wäre dies in einer Vorlage namens views-view-field--foo--field-photo-fid.tpl.php

2
Jimajamma

Wenn Sie Ansichten verwenden, soll Ihre Ansicht Felder anzeigen, und Ihr Ansichtsfeld ist das Delta des Entitätsfelds.

'Delta' bedeutet nur zählen.

So sehe ich beispielsweise auf meiner Website im Dialogfeld "Feld hinzufügen" ein Feld mit dem Namen "Inhalt: Dateianhänge (Upload: Delta)". Wenn ich dies hinzufüge, kann ich zeigen, wie viele Dateien an diesen Knoten angehängt wurden.

Wenn Sie dieses Feld konfigurieren, sollten Sie wahrscheinlich auf den Abschnitt "Verhalten ohne Ergebnisse" achten, um ihn auszublenden, wenn Delta = 0 oder so.

HTH.

1
paul-m

Mit dem Modul Ansichten PHP) habe ich das Feld Fotos/Bilder wie gewohnt hinzugefügt und dann ein Feld Global PHP hinzugefügt und hinzugefügt:

$photos = $data->field_field_images;
$count = count($photos);
//dsm($count);
print $count;
0
Lee Woodman