Legen Sie field_id für das Feld "Global: Benutzerdefinierter Text" fest

7

Ich habe eine Ansicht mit mehreren Feldern " Global: Benutzerdefinierter Text ". Diese dienen eigentlich nur als Platzhalter, und ich möchte für jede eine Feldvorlagendatei erstellen, die im Wesentlichen benutzerdefiniertes HTML / PHP platziert, wenn diese Felder in einer Ansicht angezeigt werden.

Fast alles ist vorhanden und funktioniert ... außer ich stelle fest, dass Drupal seinen globalen benutzerdefinierten Textfeldern automatisch die ID ' nichts ', ' nichts_1 ' usw. gibt. Wenn ich also mehr als eines dieser globalen Textfelder habe und für jedes eine separate Feldvorlage erstellen möchte, wird ein Problem angezeigt.

Ich müsste meine Vorlagendateien views-views-field-nothing.tpl.php usw. benennen . Dies ist unerwünscht, da ich diese Feldvorlagen auf meiner Website wiederverwenden möchte. Ich sollte mir keine Sorgen machen müssen, diese globalen Felder so zu ordnen, dass das, von dem ich erwarte, dass es nichts ist, das erste ist und diese ID erhält und dasjenige, von dem ich erwarte, dass es nichts_1 oder nichts_2 ist, diese ID erhält ...

Hat jemand dieses Problem schon einmal erlebt? Irgendwelche Ideen, ob ich meine eigenen Feld-IDs für globale benutzerdefinierte Textfelder in Ansichten festlegen kann, damit nicht alle diese generierten IDs haben? Gibt es da draußen ein Modul, das das macht? Meine Suche hat noch nichts gefunden.

Vielen Dank für jede Anleitung!

ps Der Grund, warum ich dies tue, ist, dass ich versuche, HTML in meine Ansicht einzufügen (z. B. <Feldsatz>), das aus den Ansichtsfeldern entfernt wird. Daher muss ich dies in einer Vorlagendatei tun.

Boriana Ditcheva
quelle

Antworten:

3

Manchmal besteht die einzige Möglichkeit, ein schwieriges Problem zu lösen, darin, ein eigenes Modul zu schreiben (oder, wie in meinem Fall, einfach mit jemandem zusammenzuarbeiten, der bereits ein solches Modul schreibt).

Ich verwende jetzt das neu gestartete Modul "Ansichten-Feldsätze" , um das zu erreichen, was ich versucht habe!

Boriana Ditcheva
quelle
Schön, ich werde dieses Modul sicher bald testen, scheint für eine Reihe von Szenarien anwendbar zu sein.
Duncanmoo
Es scheint ein ansichtsspezifischer Ansatz für etwas zu sein, das die Display Suite mit ihren verschiedenen Anzeigen löst. Beachten Sie, dass DS den Anzeigen benutzerdefinierte "Felder" hinzufügen kann, sogar Blöcke oder benutzerdefiniertes PHP.
Capi Etheriel
Danke, Barraponto. Sie machen einen guten Punkt. Ich verwende Ansichten, weil ich eine 'suchende' Schnittstelle mit exponierten Filtern implementiere, aber es ist auch gut, DS im Auge zu behalten!
Boriana Ditcheva
2

Ich bin nicht sicher, ob dies eine gute Lösung ist, aber ich bin auf dasselbe Problem mit diesen Vorschlägen für Vorlagendateien gestoßen. Ich habe es umgangen:

  1. Blenden Sie alle Felder aus, indem Sie jeweils "Von Anzeige ausschließen" aktivieren.
  2. Fügen Sie am Ende der Feldliste ein Feld 'Global: Benutzerdefinierter Text' hinzu und fügen Sie die [Felder] in die gewünschte HTML-Struktur ein
  3. Entfernen oder überschreiben Sie die Einstellungen für den Feld- und Wrapper-Stil

Kann eine Lösung für Sie sein? Ein weiterer Ersatz für das Feld "Global: Benutzerdefinierter Text" ist die Verwendung des Felds "views_php" .

Duncanmoo
quelle
Hey Duncanmoo, ja, ich habe darüber nachgedacht, was Sie sagen, aber wenn Sie sich meine PS ansehen, wird der Code, den ich einfügen wollte, aus den Ansichtsfeldern entfernt, weil er <fieldset> -Tags enthält ... deshalb habe ich mich gefühlt musste Vorlagen verwenden. Das PHP-Feld "Ansichten" kann eine Option sein. Ich könnte es dann einfach nicht so einfach auf der gesamten Website wiederverwenden. Ich werde das überprüfen. +1 für die Vorschläge. Vielen Dank.
Boriana Ditcheva