Cómo utilizar con Conditional fields el operador lógico OR para campos referencia a término de taxonomías en Drupal 7

Cuando utilizamos el módulo Conditional fields con Drupal 7 queremos que unos campos aparezcan condicionados por, por ejemplo, los valores de otro campo. Cuando los valores de ese campo son términos de una taxonomía y queremos que algunos de estos términos afecten al primer campo (es decir, utilizar el operador lógico OR) tenemos utilizar el número tid de la taxonomía en la pestaña Manage dependencies.

Utilizando un ejemplo, imaginemos que tenemos un campo Nº de botellas que queremos que aparezca cuando en otro campo proveniente de una taxonomía que llamamos Producto tenemos los valores: Leche, Agua y Vino, pero no queremos que aparezca el campo Nº de botellas para el resto de los valores del campo Producto, por ejemplo para Chocolate, Pan, etc.

Cuando vamos a la pestaña «Manage Dependencies» dentro de nuestro Content Type o Tipo de Contenido (que está entre la pestaña Gestionar campos y Gestionar presentación) crearemos una nueva dependencia donde Dependent es el campo «Nº de botellas» y Dependee es «Producto» y dejamos igual lo que viene por defecto (The dependent field is visible when the dependee has value…) y pulsamos el botón «Add dependency». En Values input mode elegimos «Any of these values (OR)» y ponemos el tid de cada una de los términos de las taxonomías. Para saber este número vamos a la taxonomía y cuando estamos viendo los términos al poner el ratón sobre el enlace Editar veremos que tenemos una url así: nuestaweb/taxonomy/term/numero/edit, el tid de cada término sera el valor número en su url. Dejamos el resto igual y pulsamos en el botón «Guardar las opciones».

Cómo agrupar campos en Drupal 7 con el módulo Field collection

Si desarrollamos con Drupal en algunos proyectos vamos a necesitar agrupar campos. En Drupal 7 disponemos del módulo Field collection. Para utilizarlo tenemos que hacer lo siguiente:

  1. Instalar el módulo Field collection
  2. Para que los campos nos queden agrupados como una tabla tenemos que instalar el módulo Field Collection Table
  3. Añadir un nuevo campo (field) con un field type: «Field collection» y widget «Table» y rellenamos los campos
  4. Seleccionar field como field collection
    Seleccionar field como field collection
  5. En la vista de nuestro content type nos quedaría así
  6. Field collection en content type
    Field collection en content type
  7. Ahora vamos a: Structure > Field collections
  8. Field collection en Structure
    Field collection en Structure
  9. Vemos que aparece una fila con el campo que hemos creado, donde nos dice en que Content type se usa (used in) y que operaciones se pueden hacer (manage fields para crear campos, editarlos o borrarlos y manage display para controlar la presentación de estos campos).
  10. Field collection en Structure
    Field collection en Structure
  11. Si pulsamos en manage fields podemos crear todos los campos que necesitemos como si estuvieramos creando campos para un content type
  12. Mange fields en field collection
    Mange fields en field collection
  13. Ahora si creamos contenido veremos los campos agrupados en el campo field collection. Si hemos puesto ilimitado se pueden crear campos una y otra vez
  14. Crear field collection en content type
    Crear field collection en content type
  15. Al ver el tipo de contenido veríamos el campo field collection agrupado en una tabla con todos sus valores
  16. Resultado de field collection en content type
    Resultado de field collection en content type

Cómo añadir manualmente Tumblr en Service Links en Drupal 6

Si instalamos el módulo Service Links en Drupal 6 tendremos una gran cantidad de redes sociales y servicios para poner en nuestra web, sin embargo, no está incluida la plataforma de blogging Tumblr.

Por suerte podemos añadir el icono de Tumblr muy fácilmente. Para hacer esto tenemos que seguir estos pasos:

  1. Descargamos el icono de esta web: http://servicelinks.altervista.org/?q=service/tumblr. En esta web también tenemos el código que vamos a insertar después en el módulo Service Links
  2. Editamos el archivo general_services.module del módulo Service Links que se encuentra en la dirección modules/service_links/services/general_services.module
  3. Buscamos en ese archivo la línea donde pone: $links = array();
  4. Después de está línea copiamos el código que hay en la web donde obtuvimos el icono: http://servicelinks.altervista.org/?q=service/tumblr
    $links['tumblr'] = array(
    'name' => 'Tumblr',
    'description' => t('Share on Tumblr'),
    'link' => 'http://www.tumblr.com/share/link?url=<encoded-url>&name=<encoded-title>',
    );
  5. Guardamos los cambios en el archivo general_services.module
  6. Vamos a la administración > Configuración del sitio > Service Links y pinchamos en la segunda pestaña superior llamada Servicios
  7. Buscamos la fila de Tumblr, que vendrá indicada así: Show Tumblr link y marcamos su pestaña y pulsamos en el botón inferior Guardar configuraciónTumblr seleccionado en Service Links
  8. Con esto ya tendremos instalado Tumblr en nuestra web con Drupal 6 Icono Tumblr añadido a Service Links con Drupal 6

Módulo Classified Ads Drupal

Buscando módulos para hacer anuncios clasificados he encontrado el módulo Classified Ads que permite que los usuarios con un determinado rol publiquen anuncios con un periodo de duración (lo mide en días). Al instalarlo nos genera un nuevo tipo de contenido «Classified Ad» el cual podemos modificar para insertar los campos que queramos.

 

Cómo crear un módulo en Drupal 6 para cambiar el nombre del botón Guardar en un tipo de contenido determinado

Módulo Drupal cambiar nombre botónVamos a ver cómo crear un módulo en Drupal 6 para cambiar el nombre de los botones que vienen por defecto en Drupal en un determinado tipo de contenido, en este caso vamos a cambiar el nombre del botón Guardar que tenemos en un contenido que vamos a llamar tipocontenido1 por el nombre Enviar.

Para hacer un nuevo módulo tenemos que crear una carpeta con el nombre del módulo que queramos, por ejemplo botonalter, dentro de la cual creamos 2 archivos:

  • botonalter.info
  • botonalter.module

El archivo botonalter.info tiene lo siguiente:

; $Id$
name = BotonAlter
description = Cambia el texto del boton Guardar en el tipo de contenido tipocontenido1
core = 6.x
package = 000 Custom Modules

El archivo botonalter.module contiene lo siguiente:

<?php

function botonalter_form_alter(&$form, $form_state, $form_id) {
if($form_id=="tipocontenido1_node_form") {
$form['buttons']['submit']['#value'] = t('Enviar');
unset ($form['buttons']['preview']);
}
}

Vemos como en el tipo de contenido tipocontenido1 es en el que vamos a cambiar el nombre del botón:

if($form_id=="tipocontenido1_node_form") {

En la siguiente línea como introducimos la palabra Enviar en el botón donde se envía el formulario:

$form['buttons']['submit']['#value'] = t('Enviar');

En la última línea eliminamos el botón Vista Previa en este formulario:

unset ($form['buttons']['preview']);

Una vez creado este módulo se sube al servidor, en la ruta /sites/all/modules/

Vamos la lista de módulos y activamos el módulo BotonAlter (está en la sección 000 Custom Modules).

Con esto ya funcionaría correctamente el módulo y el nombre del botón Guardar del tipo de contenido tipocontenido1 ha cambiado a Enviar.