files

Entity PDF | Crea contenidos en Drupal descargables en PDF

Video de Youtube
URL de Video remoto

     En algunas ocasiones, dentro de las funcionalidades requeridas para nuestros proyectos, estará la posibilidad de generar archivos en formato PDF, que puedan ser descargados, posteriormente por los usuarios, accediendo a nuestra web. 

     Es por esta razón, que hoy explicaré como instalar y configurar el módulo Entity PDF, para que puedas obtener, de manera sencilla, que tus contenidos puedan ser descargados cumpliendo con este requisito.

   Módulo Entity PDF

 

Imagen
Entity PDF Drupal | www.drupaladicto.com - Consultor especializado en drupal y symfony

 Descarga y Activación:

Para descargar y activar cualquier módulo de Drupal tienes varias opciones:

     Descarga:

          1.- La forma recomendada a partir de Drupal 8, es utilizando el gestor de paquetes Composer, ejecutando en tu consola el comando:

composer require drupal/entity_pdf

          2.- Descargándolo manualmente el módulo desde la página oficial del Módulo Entity PDF y una vez descargado y colocado en carpeta "modules/contrib", si haz descargado todos tus módulos manualmente, deberías crear la carpeta "contrib", para que puedas diferenciar entre tus módulos personalizados y los que están disponibles directamente en la Página oficial de Drupal.

     Activación:

          1.- Utilizando la herramienta de consola Drush, la opción "-y" activará todos los sub-modulos automáticamente

drush en entity_pdf -y

          2.- Desde la interfaz de usuario de Drupal, en la url "/admin/modules", y luego marcando el check junto al nombre de tu módulo y haciendo clic en el botón guardar que aparecer al final de la página.

Imagen
Entity PDF Drupal | www.drupaladicto.com - Consultor especializado en drupal y symfony

   Crear tipo de contenido para PDF

     Para este ejemplo, he creado un tipo de contenido Factura, al que he añadido unos cuantos campos para que sea más fácil de entender, aunque no es necesario, ya que puedes utilizar el tipo de contenido que quieras.

     El tipo de contenido es Factura y sus campos son:

    1.- Cliente: del tipo texto sin formato

    2.- Tipo de obra: taxonomía

    3.- Descripción: texto largo con formato.

Imagen
Entity PDF Drupal | www.drupaladicto.com - Consultor especializado en drupal y symfony
Imagen
Entity PDF Drupal | www.drupaladicto.com - Consultor especializado en drupal y symfony

   Descarga y configuación del PDF

     Una vez creado el tipo de contenido que queremos utilizar, añadiremos unos cuantos contenidos de prueba, para mostrarlos dentro de una vista, en la que finalmente se mostrarán los contenidos con el enlace de descarga.

     Cuando vayas a ejecutar el comando de drush, para descargar el módulo, asegúrate de haber otorgado los permisos adecuados, de escritura, a la carpeta root de Drupal, y de añadir el "-y" al final, ya que la descarga instalará tanto el módulo como varias de sus dependencias.

Imagen
Entity PDF Drupal | www.drupaladicto.com - Consultor especializado en drupal y symfony

   Cómo generar el PDF con Entity Pdf

     Si volvemos a la página oficial del módulo, podremos leer las instrucciones de uso, en la parte superior. Lo que nos explica es que, una vez activado el módulo, solo tendremos que acceder a la url de éste, añadiendo a la url, dos partes fundamentales, /entity_pdf/ y /pdf, antes y después del tipo de contenido y su id, con estos cambios automáticamente se generará nuestro archivo deseado.

Imagen
Entity PDF Drupal | www.drupaladicto.com - Consultor especializado en drupal y symfony

   Siguiendo las instrucciones de la página oficial, la prueba del módulo es bastante sencilla, como no hemos configurado una url para nuestro contenido facturas, si hacemos clic para acceder a cualquiera de las que hemos creado como ejemplo, veremos en el navegador, algo parecido a lo siguiente:

http://drupaladicto.localhost:8000/node/3

 

Imagen
Entity PDF Drupal | www.drupaladicto.com - Consultor especializado en drupal y symfony

     Esto quire decir, que si añadimos las dos partes que faltan en la misma url, deberíamos obtener nuestra factura en formato pdf inmediatamente, para guardarla en nuestro ordenador.

Imagen
Entity PDF Drupal | www.drupaladicto.com - Consultor especializado en drupal y symfony
Imagen
Entity PDF Drupal | www.drupaladicto.com - Consultor especializado en drupal y symfony

Cómo quitar la carpeta /web de la url de Drupal

A partir de Drupal 8 se recomienda que la instalación se realice utilizando el gestor de paquetes COMPOSER para mantener una estructura de archivos más fácil de gestionar mediante línea de comandos.

Esto presenta un nuevo problema que es la creación de la carpeta "/web" dentro de esa estructura que en la mayoría de los servidores compartidos terminará mostrándose como parte de nuestra url, ya que el dominio principal apuntará por defecto a la carpeta public_html o www en lugar de "public_html/web".