Road to Drupal 8

PHP -> Symfony -> Drupal 8

Añadir CSS y/o Javascript en un tipo de contenido en Drupal

function base_preprocess_page(&$vars, $hook = null){
    if (isset($vars['node'])) {
        switch ($vars['node']->type) {
            case 'complemento': // machine name content type
            case 'prenda_de_ropa': // machine name another content type
                drupal_add_js(drupal_get_path('theme', 'base').'/js/ARCHIVOJS1.js'); // relative path to your script
                drupal_add_js(drupal_get_path('theme', 'base').'/js/ARCHIVOJS2.js'); // relative path to another script
}

Imprimir en pantalla los roles del usuario exceptuando el rol usuario autenticado

Este snippet nos sirve para pintar en pantlla los roles del usuario que este viendo la web, sus propios roles, utilizando en "continue" como vemos conseguimos que no imprima el rol "authenticated user", con "strtoupper" lo pintamos en mayúsculas. 

En Drupal 7:

<?php
global $user;
$misroles = $user->roles;
foreach ($misroles as $mirol) {
if ($mirol == "authenticated user") {
continue;
}
print strtoupper($mirol)."<br />";
}
?>

Imprimir en pantalla campos de un tipo de perfil creado con el módulo profile 2

Si queremos imprimir un campo de un perfil creado por el módulo profile2  en un bloque por ejemplo utilizando el filtro php ("employer" es el tipo de perfil,  "field_business_title" es un campo creado en ese tipo de perfil), en Drupal 7:


Nombre:
<?php
 global $user;
$uid = user_load($user->uid);
$portfolio = profile2_load_by_user($uid, 'employer');
?>
<?php
 print render($portfolio->field_business_title['und'][0]['value']); 
?>
<br />

 

 

Actualizar Commerce Kickstart vía Drush

Quizá habéis intentado actualizar Drupal Commerce Kickstart con el habitual drush up y os salta el error "The commerce_kickstart directory could not be found within the modules directory at..."

Para actualizar volvemos a bajarlos los archivos via drush y los sobreescribimos y luego actualizamos la base de datos.

drush dl commerce_kickstart

drush updatedb -y

 

Esto es aplicable a otros perfiles como Drupal Commons

Rules

El módulo Rules permite a los administradores definir acciones ejecutadas condicionalmente basadas on eventos ocurridos (conocido como reactivo o ECA rules. Es un remplazo a con mas carácteristicas que el módulo trigger en el core y el sucesor del módulo workflow-ng en Drupal 5.

Ejemplos de uso

  • Construir cambios de flujos de trabajo flexibles.
  • Enviar correos personalizados para notificar a los usuarios sobre algo importante.
  • Crear redirecciones personalizadas, sistema de mensajes, migas de pan...

Y mucho mas...

Profile 2

Diseñado para ser el sucesor de el módulo core profle, cual está obsoleto en Drupal 7. In contraste con el módulo obsoleto este módulo proporciona un nuevo luegar para campos en la entidad del perfil, otorgando poder a los campos (fields).

Requiere el módulo Entity API (Versión 1.0 beta 9 o superior.

Comparación de los campos de las cuentas de usuarios