Como el caso volvió a ocurrir por segunda vez recientemente, decidí hacer la pregunta para quizás aprender algo.
En Vistas, el título de la pantalla principal (el que generalmente se representa en la parte superior de la vista) está disponible en la salida de la pantalla , $title
pero no parece estar disponible en la salida del estilo . En cambio, la $title
variable en la salida de estilo significa el nombre de un grupo si se usa la agrupación.
Lo que quiero es tener ese título de visualización ('nombre humano') disponible en cualquier plantilla como $display_title
. Entonces, lo que hice fue poner este código en mi 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);
}
... esperando tener a mano el título humano:
<?php print $display_title; ?>
... pero no hay alegría. ¿Qué estoy haciendo mal?
t('My Views Title')
y luego traducirlo nuevamente en el lado del administrador. Que es lo que quiero evitar (sin embargo, ya he traducido esa Vista ...).Si recuerdo bien, puede pasar el título con el objeto de vista, agregar una nueva variable dentro del objeto de vista y usarlo en el archivo de plantilla.
fuente
Para abordar la cuestión específica de "pasar una variable a un archivo de plantilla" ... Creo que solo tiene que usar un gancho diferente. Adjunte la variable a su
$view
objeto de esta manera:Luego, en un archivo de plantilla como
views-view--NAME_OF_VIEW--page.tpl.php
:Solo tuve que hacer esto yo mismo y funcionó muy bien.
fuente