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!

Foi útil?

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: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.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top