Dateifeld als Miniaturansicht anzeigen, wenn es sich bei der Datei um ein Bild handelt?


7

Ich habe den Kommentaren ein Feld hinzugefügt, damit Benutzer Dateien hochladen können. Ich möchte, dass Benutzer verschiedene Dateitypen hochladen können. Wenn es sich jedoch um ein Bild handelt, wird eine Miniaturansicht angezeigt. Kann dies nur mit 1 Feld durchgeführt werden?


Vielen Dank für Ihren Ruf, dieses Modul wird hilfreich sein. Bitte stellen Sie Ihr Modul anderen zur Verfügung.
Mohammad Ali Akbari

Antworten:


2

Sie müssen lediglich einen eigenen Anzeigeformatierer für Dateifelder schreiben. Schauen Sie sich das Modul field_example an, um zu sehen, wo Sie anfangen sollten:

Definieren Sie zuerst Ihren Anzeigeformatierer mit hook_field_formatter_info . Hier field typeskönnen Sie angeben, dass dieser Anzeigeformatierer für Dateifelder bestimmt ist.

Dann müssen Sie nur hook_field_formatter_view implementieren . Hier sollten Sie je $elementnach $itemErweiterung unterschiedliche Ausgaben ausführen .

Gehen comment display settingSie nach der Entwicklung dieses winzigen Moduls zu Ihrer Inhaltstypseite und wählen Sie Ihren neuen Anzeigeformatierer aus, um dieses Feld zu rendern.

Aus dem Feldbeispielmodul:

  1. field_example_field_formatter_info
  2. field_example_field_formatter_view

2

Ich könnte auch eine Vorlage für den Kommentar oder das Feld erstellen und dann ein "Wenn" einfügen.


Dies scheint praktikabel und für mich mit meinen begrenzten Programmierkenntnissen einfacher zu sein als die Lösung von Alexandru Savin.
Evanss

0

Ich denke, Ihr bester Kandidat für diesen Job ist hook_field_prepare_view(). Sie können die Feldwerte ändern, bevor sie angezeigt werden. Schauen Sie sich die Dokumente hier an .


Ich bin überrascht, dass es keine Modullösung gibt. Dies scheint eine Anforderung zu sein, die sich einige Leute wünschen würden. Vielen Dank
Evanss

0

Ich fand Ihre Antworten wirklich hilfreich, aber für meine Zwecke schien das Modul custom_formatters wirklich gut zu funktionieren.


Wie benutzt man es? Es heißt, Sie können benutzerdefinierte Formatierer definieren, ohne Code zu schreiben, aber als ich mir die Beispieldokumentationsseite angesehen habe, wird nur Code angezeigt
user1359
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.