it-swarm.com.de

Wie überschreibe ich den Titel mit dem Benutzernamen?

Ich erstelle eine Ansicht, die unter/user /%/blog angezeigt wird, und versuche, den Titel der Ansicht mit dem Benutzernamen (z. B. kiamlalunos Blog zu überschreiben. )), aber die Beschreibung des Feldes sagt mir nicht, was ich verwenden kann, um den Titel zu überschreiben.

(screenshot

Ich bekomme nur die Syntax Twig], aber das hilft nicht viel.

Ich habe Content: Authored by als Kontextfilter verwendet. Ich habe auch Autor als Beziehung hinzugefügt, aber ich habe keine Änderung gesehen.

Wie kann ich den Titel mit dem Namen des Benutzers überschreiben, der die in der Ansicht angezeigten Knoten erstellt?

6
kiamlaluno

Sie können das UID-Argument-Plugin des Knotens auf Drupal\user\Plugin\views\argument\Uid ändern und stattdessen dasselbe Verhalten aus diesem Feld abrufen. In einem benutzerdefinierten Modul würde eine kleine Menge Code benötigt.

function MYMODULE_views_data_alter(&$data) {
  $data['node_field_data']['uid']['argument']['id'] = 'user_uid';
}

Wenn die Übergabe des Benutzernamens des Autors in der Ansichts-URL für Sie kein Problem darstellt, können Sie alternativ das Feld User: User ID Für Ihren Filter anstelle des aktuell verwendeten verwenden, da Sie die Autorenbeziehung eingerichtet haben . Aufgrund der Art und Weise, wie der Handler Anfragen nach Titeln behandelt, erhalten Sie bei Verwendung von {{ arguments.uid }} Im Feld "Titel überschreiben" tatsächlich die Benutzernamen anstelle der IDs.

4
Clive
  1. Machen Sie Felder zu Ihrem Format

    (enter image description here

    Alternativ: Wenn Sie das Plugin für gerenderte Entitätszeilen verwenden, überprüfen Sie Force using fields im Format | Die Einstellungen.

  2. Fügen Sie in [~ # ~] Beziehung [~ # ~] Inhaltsautor hinzu

    • Häkchen ☑ Beziehung erforderlich
  3. Fügen Sie in den Feldern [~ # ~] [~ # ~] Name hinzu

    • Häkchen ☑ Von Anzeige ausschließen
    • Deaktivieren Sie ☐ Link zum Benutzer
  4. Für [~ # ~] Titel [~ # ~] setze {{ name }}'s blog

    (enter image description here

    ODER Sie könnten es in Ihren CONTEXTUAL FILTER legen; obwohl {{ name }} ist nicht als Ersatzmuster aufgeführt, es funktioniert (solange Sie Schritt 1, 2 und 3 ausführen).

    (enter image description here

Ergebnis

(enter image description here

BONUS

Wenn Sie den ersten Buchstaben des Benutzernamens groß schreiben möchten, verwenden Sie {{ name|capitalize }}'s blog.

Sie können auch eine gerenderte Entität als Feld hinzufügen.

(enter image description here

(enter image description here

5
No Sssweat