Ich versuche, einige benutzerdefinierte Ansichtsoptionen hinzuzufügen. Ich bin mir nicht mal sicher, ob das, was ich versuche, möglich ist.
Grundsätzlich möchte ich eine benutzerdefinierte Option in die Kategorie Andere einfügen.
Es würde so aussehen:
Meine benutzerdefinierten Optionen : deaktiviert
Wenn der Benutzer auf "deaktiviert" klickt, sollte ein benutzerdefiniertes Formular angezeigt werden, in dem der Benutzer einige Einstellungen für diese Ansicht vornehmen kann.
Ich habe dies untersucht, konnte jedoch nichts finden, mit dem ich hier benutzerdefinierte Optionen hinzufügen könnte.
Antworten:
Was Sie tatsächlich tun möchten, ist die Implementierung eines benutzerdefinierten Views Display Extender-Plugins ( https://api.drupal.org/api/views/views.api.php/group/views_plugins/7.x-3.x ). .
Es ist nicht besonders trivial und ich habe die meisten meiner Informationen aus diesem wunderbaren Tutorial hier erhalten: Wie schreibe ich einen Views Plugin Display Extender (D7) von Bryan Ollendyke
Hier ist eine grundlegende Übersicht:
-Erstelle ein benutzerdefiniertes Modul (nennen wir es mymodule) und implementiere hook_views_api () .
-Erstellen Sie eine Datei mymodule.views.inc (denken Sie daran, die Datei zu Ihrer Datei mymodule.info hinzuzufügen) und implementieren Sie hook_views_plugins () . Es sollte ungefähr so aussehen:
-Notieren Sie den "Handler" -Index im obigen Array. Sie müssen dies in einer Datei mit dem Namen mymodule_views_plugin_display_extender.inc implementieren (denken Sie auch hier daran, dies in Ihre Datei mymodule.info aufzunehmen). Die Implementierung sollte ungefähr so aussehen:
Nach all dem sollte Ihre mymodule.info-Datei ungefähr so aussehen:
Wenn das alles klappt, sollte unter "Andere" eine Einstellung angezeigt werden (Sie können diese mithilfe der Kategorie in der Implementierung von options_summary in mymodule_views_plugin_display_extender.inc ändern.
Danach können Sie in Ihrem Modul über die Ansicht auf die Option zugreifen, indem Sie Folgendes verwenden:
Zum Beispiel, wenn Sie ` hook_views_post_execute () implementieren .
quelle
Die Formular-ID des Ansichtsbearbeitungsformulars lautet
views_ui_edit_form
Das Formularelement für den Abschnitt SONSTIGES lautet
In der Funktion wird dieses Formularelement
$other
zur Vereinfachung der Verwendung als Referenz in die Variable übernommen .Dieser fügt einfach einen Link zum Knoten / 1 hinzu, den Sie bearbeiten können, um das zu tun, was Sie wollen. Und das Beispiel berücksichtigt Ajax nicht. Sie können die Variable $ other ausdrucken, um eine Vorstellung davon zu bekommen, was alle Details sind und wie alles funktioniert.
quelle