Próbuję ukryć tytuł bieżącej strony (wydrukowany przez page.tpl.php), jeśli bieżąca strona to 1) węzeł na pełnym ekranie (w przeciwieństwie do trybu zwiastuna) ORAZ 2) typ węzła to koncert lub biografia . Drukuję tytuł węzła dla tych typów treści bezpośrednio w treści węzła, więc chcę ukryć duplikat drukowany przez page.tpl.php. Nie jestem w stanie sprawić, aby działało to bezpośrednio w page.tpl.php, a moje czytanie sugeruje, że najlepszą praktyką jest obsługa logiki szablonów w template.php przy użyciu funkcji wstępnego przetwarzania i procesów. Próbuję więc ukryć bieżący tytuł strony (z powyższymi 2 warunkami) przy użyciu template_preprocess_page(). To jest mój kod.
<?php
function MYTHEME_preprocess_page(&$variables) {
if (!empty($variables['node']) && $variables['node']->type == 'concert') {
hide($variables['title']);
}
}
?>
Przeczytałem Jak przetestować typ węzła, aby wydrukować zmienną z template.php? oraz stronę z dokumentacją dla template_preprocess_page()różnych witryn, ale nie mogę tego zrobić. Widziałem sugestie, że trzeba zadzwonić isset()na $variables['node']przed badaniem dla typu węzła, ale to nie działało. Nigdzie nie widziałem przejrzystego rozwiązania i jestem na ukończeniu.
$titlezmienną za pomocąmytheme_process_page(&$variables) { $title = false; }.