Estas en: Home > drupal

Entradas etiquetadas con drupal

Integración continua: Automatizando la creación de proyectos WordPress, Drupal, Symfony, etc. (I)

0

En el post anterior de esta guía: Integración continua: Automatizando la creación de repositorios con Git y Subversion desarrollamos un script en Bash para poder, como indica el título del post, automatizar la creación de repositorios. A continuación automatizamos la descarga del código fuente del cms, framework, plugins, módulos, temas, etc. que usará nuestro proyecto. Después realizamos una pequeña pausa para crear una máquina virtual por consola usando VirtualBox, y configurar e instalar Selenium para poder realizar test funcionales. Ahora vamos a realizar la creación de los proyectos, automatizando la instalación de los plugins, modulos y temas necesarios usando nuestra máquina virtual y Selenium.

Como es una de las partes que más código requiere, lo dividiré en dos post. En este primer post añadiremos algunas líneas a nuestro script en bash que nos permitirá automatizar la creación de nuestro proyecto usando Drupal, WordPress o Symfony 2.

¿Estás listo? Empezemos.

(más…)

Integración continua: Automatizando la descarga del código fuente de WordPress, Drupal, etc. y sus plugins, módulos y temas

0

Antes de mejorar la automatización de la creación de los repositorios que vimos en el post Integración continua: Automatizando la creación de repositorios con Git y Subversion para poder crear proyectos en WordPress, Drupal, Symfony, o cualquier otro cms o framework, primero necesitamos obtener el código fuente, creando en nuestro servidor una pequeña biblioteca de código fuente desde la que copiaremos lo que necesitamos para los proyectos.

En esta biblioteca guardaremos el código fuente de los cms y frameworks que usemos, además de los módulos, plugins, bundles y temas que utilicemos habitualmente.

(más…)

Drupal logo

Crear un rol de usuario en Drupal 7 sin usar la interfaz de administración

0

Normalmente cuando trabajamos con Drupal utilizamos la interfaz de administración para configurar nuestra aplicación web, y por norma general esto es suficiente para lo que queremos hacer. Sin embargo, en otros casos nos encontramos con que necesitamos generar nuevos roles de usuario (administrador, usuario identificado, etc.) además de los que vienen por defecto en Drupal, pero a través del código fuente, ya sea porque trabajamos dentro de un equipo de desarrollo y no tiene sentido estar compartiendo la bd entre todos los desarrolladores cada vez que se realiza un cambio de configuración (además de poco productivo terminará provocando perdidas de datos y errores), o porque estamos desarrollando un perfil de instalación y queremos reducir al mínimo los pasos manuales que hay que realizar para instalar nuestra aplicación web, por ejemplo.

Para ello debemos añadir a nuestra aplicación el siguiente código:

 

$new_user_role = new stdClass();
$new_user_role->name = 'moderator';
$new_user_role->weight = 4;
user_role_save($new_user_rol);

Como ves, el código es bastante sencillo. En primer lugar creamos una instancia de la clase stdClass(); a continuación le damos un nombre y un peso (recuerda que el rol de administrador es el 3, que es el más alto de lo roles por defecto de Drupal), y por último lo guardamos.

Ocultar el bloque de contenido principal (main content block) de la página principal en Drupal

0

Primero debes crear un nuevo tipo de contenido, yo lo he llamado ‘home’, además en la descripción he indicado que no se genere ningún contenido de ese tipo.

Segundo, en la configuración del bloque del contenido principal nos vamos al apartado de ‘Tipos de contenido’ y seleccionamos ‘home’ para que muestre solo ese tipo de contenido.

En el bloque node que está dentro del core de Drupal abrimos el archivo node.module y vamos a la linea 2557 o al método node_page_default(), nos aparecerá este código:

[codesyntax lang=»php» lines_start=»2572″ title=»node.module»]

<?php

drupal_set_title(t('Welcome to @site-name', array('@site-name' => variable_get('site_name', 'Drupal'))), PASS_THROUGH);
$default_message = '<p>' . t('No front page content has been created yet.') . '</p>'; 
$default_links = array();

if (_node_add_access()) { 
	 $default_links[] = l(t('Add new content'), 'node/add'); 
} 

if (!empty($default_links)) { 
	$default_message .= theme('item_list', array('items' => $default_links)); 
} 

$build['default_message'] = array( 
	'#markup' => $default_message, 
	'#prefix' => '<div id="first-time">', 
	'#suffix' => '</div>', 	
);

[/codesyntax]
Bien, coméntalo y añade justo debajo:

[codesyntax lang=»php» title=»node.module»]

<?php
drupal_set_title('');
$build['default_message'] = array(
'#markup' => '',
'#prefix' => '',
'#suffix' => '',
);

[/codesyntax]

El bloque de contenido principal ya no aparecerá en la página principal, aunque esto no es perfecto, lo sé… pero funciona xD.

Ir arriba