Looking for drupal Answers? Try Ask4KnowledgeBase
Looking for drupal Keywords? Try Ask4Keywords

drupalEmpezando con drupal


Observaciones

Drupal es un sistema de gestión de contenido de código abierto integrado en PHP. Drupal está diseñado para ser flexible y potente, lo que permite a los desarrolladores crear una amplia variedad de sitios, desde blogs y sitios tipo folleto hasta complejas plataformas de comercio electrónico. A través de su arquitectura modular impulsada por la comunidad, Drupal puede proporcionar herramientas para ampliar las funciones básicas para ayudar a acelerar el desarrollo de proyectos grandes y complejos.

Actualmente hay dos versiones compatibles de Drupal: 7 y 8. Drupal 8 se basa en componentes del framework Symfony y muchas otras bibliotecas de terceros para proporcionar estructuras de desarrollo modernas.

Conceptos de drupal

Versiones

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

Tipos de entidad

En versiones anteriores de Drupal, el sistema de campo solo se usaba en tipos de contenido. Ahora, gracias a la API de la entidad, podemos agregar campos a otras cosas, como comentarios. Las entidades de campo hacen que Drupal sea sumamente 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 tipos de entidades donde las opciones anteriores no se ajusten a sus necesidades.

manojos

Los paquetes son una implementación de un tipo de entidad al que se pueden adjuntar campos. Puede considerar los paquetes como subtipos de un tipo de entidad. Con los 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 entidades tienen paquetes. Por ejemplo, los usuarios no tienen paquetes separados (subtipos). Para los tipos de entidades 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 Páginas Básicas y un campo de subtítulos en Artículos.

Campos

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

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 creas un tipo de contenido con un campo de texto no estructurado y usas HTML para estructurar partes de él, como una sección de resumen o precios. Eso haría más difícil, entonces, controlar cómo se mostraban, 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 precios 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 un paquete como una publicación de blog, un artículo o un producto.

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

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

Si proviene de un fondo de OOD / P y está tratando de entender mejor cuáles son estos conceptos clave, la siguiente asignación sugerida podría ayudar (aunque no sea 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 clase base o extendida

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

Instalación de Drupal 8 con Drupal Console

Consola Drupal

El nuevo CLI para Drupal. Una herramienta para generar código repetitivo, interactuar y depurar Drupal.

Primero, necesitamos instalar la Consola Drupal.

Drupal Console es necesaria no solo para este momento, 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 la 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 te pedirá que elijas la versión de Drupal para descargar. Recomiendo seleccionar el último.

Entonces, cuando se descarga Drupal necesitas instalarlo.

drupal site:install
 

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

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

Instalando 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