Drupal 7 zeigt den Kontextfilter (Taxonomie: Zusammenfassungsanzeige) an und zeigt einen lesbaren Termnamen anstelle der Term-ID an

9

Meiner Ansicht nach verwende ich einen Kontextfilter - mit einer Standardausgabe " Zusammenfassung " -, um meine Ergebnisse nach Taxonomiebegriff zu filtern .

Das Problem besteht darin, dass das zusammenfassende Ergebnis durch eine Auflistung von Taxonomie- Term-IDs (einschließlich einer Knotenanzahl) und nicht von Menschen lesbaren Term-ID-Namen gruppiert wird .

  • 1 (21)
  • 2 (16)
  • usw.

Ist es möglich, die Ansichtsausgabe der Zusammenfassung zu ändern (oder zu verknüpfen), indem nicht die Term-IDs, sondern der Term-ID-Name aufgelistet werden?

  • Begriff Name A (21)
  • Begriff Name B (16)

(Es stört mich nicht, wenn die tatsächliche Anforderungs-URL gleich bleibt.)

Mein Ziel ist es, ein besser lesbares Ausgabeformat meiner Taxonomie-Term-Zusammenfassung zu erstellen, das ein Endbenutzer verstehen kann.

Stefan Looij
quelle
Ich habe die gleiche Frage gefunden: Wie verwende ich das Views-Argument, um Taxonomie-Termnamen und keine Term-IDs zurückzugeben? und eine aktive Diskussion darüber auf Setzen Sie den Ansichtstitel auf den Termnamen, wenn das Filterargument die Term-ID ist . Sie liefern einen Patch, aber ohne Erfolg.
Stefan Looij

Antworten:

7
  1. Stellen Sie Ihre Ansicht auf Felder ein und machen Sie das Feld verfügbar, das den zugehörigen Taxonomiebegriff enthält.

  2. Stellen Sie Ihren Kontextfilter so ein, dass er nach einem Taxonomiebegriff filtert, und wählen Sie einen Validator aus.

  3. Setzen Sie den Validator auf Taxonomiebegriff und aktivieren Sie das Kontrollkästchen für Ihren Wortschatz.

  4. Wählen Sie die Option für den Filterwerttyp als 'Termname in Term-ID konvertiert.

  5. Speichern Sie den Filter und gehen Sie zum Vorschaufenster. Wenn Sie den Textnamen Ihres Begriffs eingeben, sollte der gewünschte Inhalt angezeigt werden.

Wenn Sie die Informationen von der URl übergeben, müssen Sie möglicherweise auch das Kontrollkästchen "Striche in URL in Leerzeichen in Filterwerten für Termnamen umwandeln" aktivieren, da der Computername Bindestriche verwendet

Quader
quelle
Ich hatte vergessen, dass bei der Auswahl eines Kontextfilters der Taxonomiebegriff (Name) verwendet werden muss und eine Beziehung zum Feld auf den Knoten verwendet werden muss, die Sie für den Begriff selbst anzeigen, und nicht der Inhalt: my_term_field_name
CR47
In dieser Antwort erfahren Sie, wie der Kontextfilter mit dem vom Menschen lesbaren Namen des Taxonomiebegriffs funktioniert, die Frage wird jedoch nicht beantwortet. Die Frage ist, wie der vom Menschen lesbare Name des Taxonomiebegriffs in den gefilterten Ergebnissen angezeigt wird.
BrokenBinary
5

Kopieren Sie die Datei "views_view-summary.tpl.php" in Ihren Ordner "modules / contrib / views / theme". (Sie können es anzeigen oder blockieren, indem Sie ein Dateinamensuffix hinzufügen.)

Hinweis: Wenn Sie dies als Administrator-Ansichtsanzeige verwenden, stellen Sie sicher, dass Sie diese Datei in den Administrator-Themenordner kopieren, nicht in Ihren Standard-Themenordner!

Sie brauchen keine Änderungen an Ihren Anzeigeeinstellungen. Passen Sie einfach Ihre tpl-Überschreibung an die folgenden Zeilen an, und Ihre Term-IDs werden in lesbare Termnamen konvertiert:

<div class="item-list">
  <ul class="views-summary">
    <?php foreach ($rows as $id => $row): ?>
    <li>
      <a href="<?php print $row->url; ?>"<?php print !empty($row_classes[$id]) ? ' class="'. $row_classes[$id] .'"' : ''; ?>>
        <?php
        /* begin replacement */
        $term_object = taxonomy_term_load($row->link);
        print  $term_object->name; 
        /* end replacement*/
        ?>
      </a>
      <?php if (!empty($options['count'])): ?>
      &nbsp;(<?php print $row->count?>)
      <?php endif; ?>
    </li>
    <?php endforeach; ?>
  </ul>
</div>
Stefan Looij
quelle