snnipets

Regiones dentro de nodos en Drupal 6

Si en la entrada anterior veíamos como crear una región en Drupal 5.x para un nodo vamos a ver ahora como creamos esa misma región en Drupal 6.x

Empezamos por el principio, damos de alta la región en el array de regiones en el archivo .info de nuestro tema.

regions[avatares] = avatares

Lo Una vez hemos creado la región, tenemos que crear la variable en el archivo template.php, recordad que en la versión de Drupal 6.x las variables se "generan" de forma diferente, y utilizamos la función preprocess_node() de la siguiente forma

<?php

Como crear regiones dentro de nodos en Drupal

Una de las características que tienen las regiones es que no pueden "posicionarse" dentro de los nodos, ya que un nodo no es un "región" de una página de Drupal, sino que es información o contenido como son los contenidos de los bloques. No se si me explico bien.

Quizás la mejor forma de entender las regiones es ir a la sección de bloques y observar como se "muestran cuales son las regiones de un tema.

Viendo la página de bloques entendemos que las regiones definen los diferentes lugares donde se puede mostrar la información de Drupal.

selects dinamicos en cck

Desde hace unos días que me estoy pegando con la opción de crear en un formulario varios campos tipo selects dependientes y que la información del segundo dependa de lo que genera el primero.

Para hacer esto de forma un poco más dinámica había que meter un array de datos sacados en php en la opción de php.

Snnipets para sacar los datos del autor de un nodo. Codigo original de drupal.org

Código original de http://drupal.org/node/213855, una persona me pregunto hace tiempo por algo similar a esto, pero por falta de tiempo no he podido contestar.

Recomiendo leer también, los comentarios del nodo.


<?php
if ((arg(0) == 'node') && is_numeric(arg(1))) {
$args[0] = arg(1);
$node_id = $args[0];
$node = node_load($node_id);
$user_id = $node->uid;
} else if ((arg(0) == 'blog') && is_numeric(arg(1))) {
$args[0] = arg(1);
$user_id = $args[0];
}

$user_load = user_load($array = array('uid' => $user_id));

Imprimir datos del array del form de los nodos de drupal

A veces necesitamos sacar la información de los forms para mostrarla, en este caso lo primero es cargar el nodo en el que estamos, y a partir de ahí sacar el resto de información

<?php
if (arg(0) == 'node' && is_numeric(arg(1))) {
$node=node_load(arg(1));
print
$node->field_nombrecine[0]['view'];
echo
'<pre>';
print_r ($node);
echo
'</pre>';
}
?>

para imprimir los campos tenemos que fijarnos en el array de datos que nos muestran y luego mediante sentencias como esta imprimimos los datos que nos interesa.

<?php
print $node->nid[0];

Distribuir contenido