it-swarm.com.de

Speichern von Ansichtsvorlagen mit einem Modul anstelle eines Themas

Ich habe mehrere Ansichtsvorlagen erstellt, die derzeit in meinem Active Themes-Verzeichnis gespeichert sind. In würde es vorziehen, diese Vorlagen in meinem Modulverzeichnis zu speichern.

Meine Frage ist, wie kann ich diese Themendateien (z. B. views-view-field.tpl.php.) In mein Modulverzeichnis bringen und sie von Views anzeigen lassen?

Wenn ich mir die Views-Module ansehe, kann ich sehen, dass Standardvorlagen in Ansichten/Designs gespeichert sind, aber ich sehe nicht, wie sie implementiert wurden.

13
Citricguy

Ich brauchte eine Weile, um das herauszufinden. Der folgende Code sollte in Ihre .module-Datei eingefügt werden (der Code setzt voraus, dass Ihr Modul "NAME" heißt).

/**
* Implements hook_views_api().
*
* Enabling using templates inside module
*/
function NAME_views_api() {
  return array(
    'api' => 3,
    'path' => drupal_get_path('module', 'NAME'),
    'template path' => drupal_get_path('module', 'NAME'),
  );
}

Dadurch wird Views angewiesen, im Stammverzeichnis Ihres Moduls zu suchen. Ich persönlich bin ein Fan davon, dem Modul ein Unterverzeichnis hinzuzufügen, in dem Vorlagendateien gespeichert werden. Fügen Sie dazu den Verzeichnisnamen an das Ende des Vorlagenpfads an, z.

'template path' => drupal_get_path('module', 'NAME') . '/templates',
29
Reekan Mantell

Ein anderer Ansatz besteht darin, die Vorlage mit 'hook_theme' zu definieren, wie in diesem Artikel beschrieben: http://grayside.org/2010/09/how-override-views-field-template-module

2
John