Drupal6:Incorporando uma região em um arquivo view .tpl.php
-
19-09-2019 - |
Pergunta
Alguém tem alguma idéia de como posso incorporar uma região em um arquivo view .tpl.php?
Eu consigo isso com bastante facilidade em um nó .tpl.php adicionando algo assim a theme_preproces_node()
:
$vars['promos'] = theme('blocks', 'promos');
Não há problema algum.Contudo, obviamente não há theme_preprocess_view()
função, e recebo erros de memória quando tento adicionar o mesmo trecho a theme_preprocess()
.
Erro fatal:Tamanho de memória permitido de 104857600 bytes esgotados (tentou alocar 523800 bytes) em /Users/cpharmston/Sites/Projects/Threespot/neh01/includes/database.mysqli.inc na linha 42
Estou perplexo.Alguma ideia?
Obrigado!
Solução
Maneira 'rápida e suja': Você poderia simplesmente colocar o theme('blocks', [region_name])
chame diretamente no arquivo .tpl.php das visualizações.
Embora as funções de pré-processo visem uma melhor separação entre lógica de “negócio” e lógica de negócios.lógica de 'display', eles não são necessários de forma alguma, então você ainda pode colocar código personalizado em um arquivo .tpl.php da maneira que desejar.
'A maneira certa: Lá são funções de pré-processamento para visualizações, apenas mais de uma.Dê uma olhada no arquivo theme.inc do módulo de visualizações.Lá você encontrará diferentes funções de pré-processamento para os diferentes modelos possivelmente usados por uma visualização (por exemplo,'não formatado' vs.'mesa' vs.'lista', etc.).Você só precisa encontrar aquele relevante para o modelo de visualização no qual deseja injetar a nova variável.