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.


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


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>

1

Mit Ihrem Beispiel oder zum Beispiel basierend auf einem Knotentitel als Kontextfilter funktioniert es ordnungsgemäß. In meiner Frage basiert der Kontextfilter jedoch auf dem Begriff Taxonomie. In diesem Fall werden in der Zusammenfassung nur die Term-IDs angezeigt, und Sie können die besser lesbaren Termnamen nicht anzeigen.
Stefan Looij
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.