Da mir der Fall kürzlich zum zweiten Mal wieder einfiel, beschloss ich, die Frage zu stellen, um vielleicht etwas zu lernen.
In Ansichten, die Hauptanzeige Titel (das die man in der Regel an der Spitze der Ansicht gerendert wird) ist verfügbar in der Display - Ausgabe als $title
aber scheint nicht in verfügbar zu sein Stil Ausgabe überhaupt. Stattdessen bedeutet die $title
Variable in der Stilausgabe den Namen einer Gruppe, wenn eine Gruppierung verwendet wird.
Ich möchte, dass dieser Anzeigetitel ('menschlicher Name') in jeder Vorlage als verfügbar ist $display_title
. Also habe ich diesen Code in meine template.php eingefügt:
function MYTHEME_preprocess_views_view(&$variables){
if($variables['name'] == 'studios' && $variables['display_id'] == 'block'){
$view = $variables['view'];
$variables['display_title'] = $view->human_name;
}
dpm($variables);
}
... in der Hoffnung, den menschlichen Titel zur Hand zu haben:
<?php print $display_title; ?>
... aber keine Freude. Was mache ich falsch?
t('My Views Title')
und auf der Administratorseite erneut übersetzt werden. Welches ist, was ich vermeiden möchte (noch habe ich diese Ansicht bereits übersetzt ...).Wenn ich mich recht erinnere, können Sie den Titel mit dem Ansichtsobjekt übergeben, eine neue Variable innerhalb des Ansichtsobjekts hinzufügen und nur in der Vorlagendatei.
quelle
Um die spezifische Frage "Übergeben einer Variablen an eine Vorlagendatei" zu beantworten ... Ich denke, Sie müssen nur einen anderen Hook verwenden. Hängen Sie die Variable folgendermaßen an Ihr
$view
Objekt an:Dann in einer Vorlagendatei wie
views-view--NAME_OF_VIEW--page.tpl.php
:Musste das einfach selbst machen und es hat super funktioniert.
quelle