Comenzando con Drupal

Conceptos Drupal

Versiones

Release Date
Versión Fecha de lanzamiento
8.2.4 07 diciembre 2016
7.53 07 diciembre 2016
6.38 (sin soporte) 24 de febrero de 2016
5.23 (sin soporte) 11 de agosto de 2010

Tipos de entidades

En versiones anteriores de Drupal, el sistema de campo solo se usaba en tipos de contenido. Ahora, gracias a Entity API, podemos agregar campos a otras cosas, como comentarios. Las entidades de campo hacen que Drupal sea eminentemente flexible. Un tipo de entidad es una abstracción útil para agrupar campos. A continuación se muestran los tipos de entidad en el núcleo de Drupal:

  • Nodos (contenido)
  • Comentarios
  • Archivos
  • Términos de taxonomía
  • Vocabularios de taxonomía
  • Usuarios

También puede crear nuevos tipos de entidades cuando las opciones anteriores no se ajusten a sus necesidades.

Manojos

Los paquetes son una implementación de un tipo de entidad a la que se pueden adjuntar campos. Puede considerar los paquetes como subtipos de un tipo de entidad. Con nodos de contenido (un tipo de entidad), por ejemplo, puede generar paquetes (subtipos) como artículos, publicaciones de blog o productos. Sin embargo, no todos los tipos de entidad tienen paquetes. Por ejemplo, los usuarios no tienen paquetes separados (subtipos). Para los tipos de entidad que permiten paquetes, puede crear tantos paquetes (subtipos) como desee. Luego, utilizando el sistema Field, puede agregar diferentes campos a cada paquete. Los ejemplos incluyen un campo de descarga de archivos en las páginas básicas y un campo de subtítulos en los artículos.

Campos

Un campo es una pieza de contenido reutilizable. En términos técnicos, cada campo es un tipo de datos primitivo, con validadores y widgets personalizados para editar y formateadores para mostrar. Puede leer más para obtener una guía del desarrollador sobre el uso de Drupal 7 Fields API.

Lo que es importante saber en relación con las entidades es que los campos se pueden agregar a cualquiera de los paquetes (o tipos de entidades) para ayudar a organizar sus datos.

Digamos, por ejemplo, que crea un tipo de contenido con un campo de texto no estructurado y usa HTML para estructurar partes del mismo, como una sección de resumen o precios. Eso haría más difícil, entonces, controlar cómo se muestran estos, o hacer conexiones entre diferentes tipos de contenido relacionado.

Aquí es donde el uso de campos es esencial. Puede crear un campo de resumen de tipo Texto largo, así como campos de precio de tipo Decimal.

Entidad

Una entidad sería una instancia de un tipo de entidad en particular, como un comentario, un término de taxonomía o un perfil de usuario, o de un paquete, como una publicación de blog, un artículo o un producto.

Puede usar entity_load para cargar cualquier entidad. Tenga en cuenta, sin embargo, que el núcleo no proporciona una función de guardar o eliminar, pero gracias al módulo Entity API, se agregan las piezas que faltan (entity_create(), entity_save(), entity_delete(), entity_view() y entity_access ()).

Poniendo esto en términos de programación/diseño orientado a objetos…

Si proviene de un entorno OOD/P y está tratando de comprender mejor cuáles son estos conceptos clave, el siguiente mapeo sugerido podría ayudar (aunque no es estrictamente cierto desde la perspectiva de un purista): -

  • Un tipo de entidad es una clase base
  • Un paquete es una clase extendida
  • Un campo es un miembro de clase, propiedad, variable o instancia de campo (dependiendo de su preferencia de nombre) )
  • Una entidad es un objeto o instancia de una base o clase extendida

Todos estos cuatro conceptos OOD/P son especiales porque son serializables (almacenados, por ejemplo, en una base de datos o archivo). La serialización se realiza a través de la Entity API.

Instalar Drupal con Drush

drush dl drupal --drupal-project-rename=example
cd example
drush site-install standard --db-url='mysql://[db_user]:[db_pass]@localhost/[db_name]' --site-name=Example

Instalación de Drupal 8 con Drupal Console

Consola Drupal

La nueva CLI para Drupal. Una herramienta para generar código repetitivo, interactuar y depurar Drupal.

Primero, necesitamos instalar Drupal Console.

Drupal Console es necesaria no solo por ahora, sino también para futuras instalaciones.

# Run this in your terminal to get the latest project version:
curl https://drupalconsole.com/installer -L -o drupal.phar

# Or if you don't have curl:
php -r "readfile('https://drupalconsole.com/installer');" > drupal.phar

# Accessing from anywhere on your system:
mv drupal.phar /usr/local/bin/drupal

# Apply executable permissions on the downloaded file:
chmod +x /usr/local/bin/drupal

# Copy configuration files to user home directory:
drupal init --override

# Check and validate system requirements
drupal check

Puede llamar a drupal list para ver todos los comandos disponibles.

En el siguiente paso, descargaremos el código fuente de Drupal.

drupal site:new

La consola le pedirá que elija una carpeta para descargar Drupal. Y en el siguiente paso, se le pedirá que elija la versión de Drupal para descargar. Recomiendo seleccionar el último.

Entonces, cuando se descarga Drupal, debe instalarlo.

drupal site:install

Después de unos simples pasos, su sitio Drupal estará listo.

Con esta metodología, una instalación nueva de Drupal nos lleva entre 5 y 7 minutos, todo desde la línea de comandos.