Pregunta

Me gustaría hacer en

  1. hacer algo de procesamiento de campos de nodo en node.tpl.php
  2. Guardar a una variable
  3. y visualización en un bloque que se carga después de que el nodo (en la misma página).

Cómo pasar una variable de un nodo a un bloque?

¿Fue útil?

Solución

Desde que se está ejecutando Drupal 7, se tiene acceso a la nueva hook_page_alter () la función , a partir de un módulo o tema personalizado. Mediante la implementación de esto, se puede mover fácilmente partes del área de contenido principal (por ejemplo, el nodo), en cualquier número de diferentes bloques. Usted querrá utilizar el href="http://api.drupal.org/api/drupal/includes--common.inc/function/show/7" rel="nofollow"> espectáculo , ocultar () y < a href = "http://api.drupal.org/api/drupal/includes--common.inc/function/render/7" rel = "nofollow"> render () funciones para ocultar el contenido correctamente.

Por otra parte, el uso de show () y hide () desde dentro de su plantilla node.tpl.php debe ocultar adecuadamente los elementos, y entonces se podría agarrar el objeto de nodo de su bloque con el menu_get_object () función.

Normalmente hay un video disponible en hook_page_alter () aquí, pero el sitio está desactivado por el momento.

Otros consejos

hacer algo de procesamiento de campos de nodo en node.tpl.php

Un purista diría que no debería estar haciendo allí. hook_node_load () puede ser utilizado para el procesamiento de campos.

A continuación, puede simplemente usar menu_get_item () en su bloque para obtener el objeto $node y acceso a cualquiera de los valores que ha añadido a la misma.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top