Como o caso me ocorreu pela segunda vez recentemente, decidi fazer a pergunta para talvez aprender alguma coisa.
No Views, o título da exibição principal (aquele que geralmente é renderizado na parte superior da exibição) está disponível na saída da exibição , $title
mas não parece estar disponível na saída de estilo . Em vez disso, a $title
variável na saída de estilo significa o nome de um grupo se o agrupamento for usado.
O que eu quero é ter esse título de exibição ('nome humano') disponível em qualquer modelo como $display_title
. Então, o que eu fiz foi colocar esse código no meu 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 ter o título humano à mão:
<?php print $display_title; ?>
... mas sem alegria. O que estou fazendo errado?
t('My Views Title')
e depois o traduza novamente no lado do administrador. Qual é o que eu quero evitar (ainda assim eu já traduzi essa Visualização ...).Se bem me lembro, você pode passar o título com o objeto de exibição, adicione uma nova variável dentro do objeto de exibição e use o arquivo de modelo.
fonte
Para abordar a questão específica de "passar uma variável para um arquivo de modelo" ... acho que você só precisa usar um gancho diferente. Anexe a variável ao seu
$view
objeto assim:Em seguida, em um arquivo de modelo como
views-view--NAME_OF_VIEW--page.tpl.php
:Só tinha que fazer isso sozinho e funcionou muito bem.
fonte