Depuis que l'affaire m'est revenue pour la deuxième fois récemment, j'ai décidé de poser la question pour peut-être apprendre quelque chose.
Dans les vues, le titre d'affichage principal (celui qui est généralement rendu en haut de la vue) est disponible en sortie d'affichage car $title
il ne semble pas du tout être disponible en sortie de style . Au lieu de cela, la $title
variable dans la sortie de style signifie le nom d'un groupe si le regroupement est utilisé.
Ce que je veux, c'est que ce titre d'affichage («nom humain») soit disponible dans n'importe quel modèle $display_title
. J'ai donc mis ce code dans mon template.php:
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);
}
... en espérant avoir le titre humain à portée de main:
<?php print $display_title; ?>
... mais pas de joie. Qu'est-ce que je fais mal?
t('My Views Title')
puis le traduire à nouveau du côté administrateur. C'est ce que je veux éviter (pourtant j'ai déjà traduit cette vue ...).Si je me souviens bien, vous pouvez passer le titre avec l'objet de vue, ajoutez une nouvelle variable à l'intérieur de l'objet de vue et ust dans le fichier de modèle.
la source
Pour répondre à la question spécifique de "passer une variable à un fichier modèle" ... je pense qu'il suffit d'utiliser un crochet différent. Attachez la variable à votre
$view
objet comme ceci:Puis dans un fichier modèle comme
views-view--NAME_OF_VIEW--page.tpl.php
:Je n'avais qu'à le faire moi-même et cela a très bien fonctionné.
la source