Nos meus temas hook_preprocess_page()
e hook_preprocess_html()
funções personalizados, geralmente preciso identificar as mesmas informações. Em vez de executar essencialmente a mesma instrução if, verifica as mesmas informações, faria muito mais sentido fazê-lo apenas uma vez nos dois e depois passar essas informações para a outra função de pré-processo. Como posso fazer isso? Eu tentei o seguinte, mas não funcionou:
function myTheme_preprocess_page(&$vars){
$vars['myValue'] = 7;
}
function myTheme_preprocess_html(&$vars){
//$vars['myValue'] should equal 7...
}
Também tentei o contrário (definir o valor na função html de pré-processo e depois recuperá-lo na função de pré-processo de página), mas isso também não funcionou. O que levanta uma questão relacionada: em que ordem essas funções de pré-processo são processadas? Parece-me que a função de pré-processamento da página vem antes da html, está correta?
static
processamento como a primeira resposta. e as configurações de peso leve podem realmente ser mais rápidas, pois você não tem a sobrecarga da chamada de função para cada conjunto de variáveis, apenas a primeira vez em que chama da função principal. E, obviamente, as principais partes (nó e página) são definidas apenas uma vez.