Estoy tratando de ocultar el título de la página actual (como se imprime page.tpl.php
) si la página actual es 1) un nodo en pantalla completa (en oposición al modo de avance), Y 2) el tipo de nodo es concierto o bio . Imprimo el título del nodo para estos tipos de contenido directamente en el contenido del nodo, por lo que quiero ocultar el duplicado que imprime page.tpl.php. No puedo hacer que esto funcione directamente en page.tpl.php, y mi lectura sugiere que la mejor práctica es manejar la lógica de plantilla en template.php usando las funciones de preproceso y proceso. Entonces, estoy tratando de ocultar el título de la página actual (con las 2 condiciones anteriores) usando template_preprocess_page()
. Este es mi codigo.
<?php
function MYTHEME_preprocess_page(&$variables) {
if (!empty($variables['node']) && $variables['node']->type == 'concert') {
hide($variables['title']);
}
}
?>
Leí ¿Cómo pruebo el tipo de nodo para imprimir una variable desde template.php? y la página de documentación para template_preprocess_page()
, y varios otros sitios, pero parece que no puedo hacer que esto funcione. Vi sugerencias que usted tiene que llamar isset()
en $variables['node']
antes de la prueba para el tipo de nodo, pero que no funcionó bien. No vi una solución clara publicada en ningún lado, y estoy al final de mi ingenio.
$title
variable real conmytheme_process_page(&$variables) { $title = false; }
.mytheme_process_page(&$variables) { $variables['title'] = false; }
y eso funciona por cierto.<?php print $title; ?>
de<?php if (!$title_hidden): ?>
simplemente puede establecer$variables['title_hidden'] = TRUE;
Puede administrar esto usando drupal_set_title ().
fuente
template_preprocess_page()
? He utilizado el módulo de desarrollador de temas para inspeccionar el título de la página duplicada y he confirmado que se está llamando desdepage.tpl.php
. ¿Debería pensar en eliminar el títulopage.tpl.php
y luego AGREGARlo de nuevo donde lo quiero usartemplate_preprocess_page()
? Quiero que se muestre el título, por ejemplo, cuando la página contiene una vista de nodos, pero no cuando la página es un nodo único de cierto tipo / tipos.Pruebe esto suponiendo que su condición sea correcta :)
fuente
$variables['title']
con el valor devuelto pordrupal_get_title()
.La forma menos complicada es imprimiendo esto en su page.tpl.php
Pero si quieres que sea dinámico, te sugiero que uses el que sugieran
preprocess_page
otros.fuente
hide()
se usa con matrices de representación, no cadenas.En CSS, hice esto a mi tema
Según lo recomendado por http://www.alistapart.com/articles/now-you-see-me/
¿Por qué? Porque aún desea tener el encabezado y h1 'visibles' para los lectores de pantalla para accesibilidad. Si simplemente quita el valor del H1, está robando a sus visitantes ciegos y de baja visión alguna información potencialmente importante.
fuente
la sugerencia de mytheme_preprocess_page funciona para mí pero si se usa
$vars['title_hidden'] = TRUE;
fuente
La función correcta es
en lugar de
fuente