Mi situación es la siguiente: tengo un seminario de tipo de contenido, con campos A, B y C. Tengo regiones de encabezado, pie de página, contenido y barra lateral izquierda. Hay algunos campos en el Seminario que deseo que se muestren en la región Contenido, pero también en la región Barra lateral izquierda.
¿Cómo voy a hacer esto? Disculpas si esto ya ha sido respondido antes. Soy desarrollador y no dudo en sumergirme en las funciones de gancho y preprocesador. Tengo instalado el módulo Vistas, pero nunca lo he usado (este es mi primer sitio de Drupal, si no puede decir: P).
Salud.
EDITAR: Esto es para Drupal 7 .
Respuestas:
No es una forma fácil de agregar el contenido de un nodo a diferentes regiones de la página. Hay múltiples formas de abordar este problema.
Modo sin codificación: vistas y bloques
Crea una vista
(más cualquier configuración adicional que desee)
Luego vaya a la página de bloqueo del administrador Mueva el bloque de vista recién creado a la región que desea que se muestre. Solo debe mostrarse en las páginas del nodo del seminario.
Repita para todas las regiones.
Forma de codificación con theme_preprocess_region ():
el código se vería así
Esto es solo para Drupal 7. Ahora está disponible en su region.tpl.php.
fuente
El módulo Display Suite le permite hacer esto. Deberá habilitar el módulo Extras de Display Suite para exponer regiones temáticas como destinos para componentes de nodo. Puede encontrar información sobre cómo hacerlo en los campos Agregar a una página de bloqueo de la documentación de Display Suite
fuente
He tenido el mismo problema La solución es bastante fácil. Puede basar el hecho de que en Drupal 7 podemos definir nuestro propio view_mode, no solo FULL y TEASER (como sabemos por las versiones más antiguas). Entonces, defina otro view_mode para usar en su región: por ejemplo, LEFTHAND. Drupal muestra FULL view_mode en la región de contenido. Entonces, debe decirle a Drupal que muestre LEFTHAND en la región Sidebar Left.
En template_preprocess_page ()
En node.tpl.php agregue una nueva pantalla para el modo de vista izquierda
fuente
if (array_key_exists('block_14',$vars['page']['main_content'])){}
hacer que solo apareciera en páginas con un bloque específico.Si Display Suite parece demasiado para sus necesidades (es un gran módulo, pero podría ser excesivo si solo necesita reubicar algunos campos), hay un módulo solo para este propósito -> Bloques CCK .
Sé que se llama bloques 'CCK', pero funciona con Drupal 7 (que trajo la funcionalidad de CCK al núcleo).
fuente
Un ligero cambio en la respuesta de @Patrik Lucan
if ($vars['node'])
me estaba causando problemas en páginas que no eran nodos, por ejemplo, portada personalizada con bloque o página de vistas.Cambiado a:
if (array_key_exists('node', $vars))
Lo que parece haber resuelto el problema.
fuente
Mientras tanto hay un módulo para esto. Desde la página del módulo:
fuente