Image
Instalar módulo webform
Instalar módulo webform

Vamos a instalar el módulo webform, que te permite crear cualquier formulario para recopilar cualquier dato, y se puede enviar a cualquier aplicación o sistema. Cada comportamiento y aspecto de los formularios y sus entradas son personalizables. Ya sea que necesitemos un formulario de varias páginas que contenga un diseño de entrada de varias columnas con lógica condicional o un formulario de contacto simple que envíe datos a un CRM, todo es posible utilizando este módulo.

Vamos a empezar con lo básico, que es instalarlo, para ello, como es habitual, iremos a la pagina del módulo en Drupal, os dejo aquí el enlace de descarga.

Image
instalar módulo webform 1

Evidentemente, nosotros usaremos composer para instalarlo, así que desde nuestra consola ejecutamos el comando

Image
instalar módulo webform 2

Tras instalarlo, procedemos a activarlo en nuestro sitio como siempre, iremos a ampliar, lo localizaremos y activaremos. En este caso solo necesitamos activar "webform" y webform UI" (la primera y la ultima opción), el módulo webform nos permite hacer muchas cosas, pero para este ejemplo, con activar estos dos componentes será suficiente.

Image
instalar módulo webform 3

Una vez tengamos hecho esto, nos vamos a Estructura -- Webform -- Formularios

Image
instalar módulo webform 4

El módulo webform nos instala por defecto un formulario de contacto, si clicamos sobre "Build" podremos ver y editar los campos existentes, asi como añadir nuevos campos para nuestro formulario, haciendo clic sobre "+Add element" veremos un pop-up en el que se nos muestran los distintos tipos de elementos que podemos agregar

Image
instalar módulo webform 5

Por defecto, el propio módulo tiene muchas opciones de agregacion de elementos, en otro tutorial veremos como añadirle más, continuando con nuestra tarea, ahora podemos buscar y añadir el elemento que nos interese al formulario, fijate que cada elemento tiene un "?" a su izquierda, si pasas por encima te muestra una breve explicación sobre el mismo. Cuando sepamos el elemento que queremos añadir, lo haremos mediante su correspondiente botón.

Nosotros vamos a modificar uno de los elementos existentes por defecto en el formulario, veremos que el elemento "nombre" está en inglés y que es obligatorio (cuando se rellene el formulario deberá estar cubierto o no permitirá su envío) así que pulsamos "editar"

Image
instalar módulo webform 6

Modificaremos el "title" y desmarcaremos la obligatoriedad de la validación, guardamos los cambios.

Image
instalar módulo webform 7

 

Ya está cambiado el title y ya no es obligatorio. Ahora vamos a usar el formulario, pero antes le daremos una ruta url dedicada, vamos a la pestaña de configuración dentro del webform, en "opciones de rura url" ponemos /contacto, así

Image
instalar módulo webform 9

 

Guardamos los cambios, ahora el formulario es accesible desde http://misitio.com/contacto

Image
instalar módulo webform 8

Y esto ha sido instalar módulo webform en Drupal, recordad que tenéis este y otros manuales de ayuda en el blog y si aun así no halláis respuesta a vuestro problema, podéis publicar vuestras preguntas en el tablón, donde la comunidad os ayudará a resolverlas.

 

 

 

 

 

 

Image
Cupones de descuento con Drupal Commerce, ¿Cómo se hace?
Cupones de descuento con Drupal Commerce, ¿Cómo se hace?

Para crear cupones de descuento con Commerce deberías haber seguido los pasos del artículo para crear descuentos en nuestra tienda , y tener ahora una idea general de como funcionan, podremos entonces crear cupones, que son otra forma de bonificar a nuestros clientes y un metodo para conseguir que compren más en nuestra tienda.

Teniendo el manual antes mencionado como referencia, crearemos un nuevo descuento, cubriendo o marcando todos los campos marcados con *. Finalmente, haremos clic sobre "guardar y agregar cupones".

 

Image
Cupones de descuento con drupal commerce 1

 

Eso nos llevará a esta pantalla, donde cliquearemos en "+agregar cupon", para generar un código personalizado en el cupón que utilizarán nuestros clientes.

Image
Cupones de descuento con drupal commerce 2

En este formulario cubriremos los datos, es importante el código del cupón, pues es lo que deberá introducir el cliente, durante el checkout, para que se le aplique el descuento. Es recomendable que contenga, por ejemplo, el nombre de la tienda, además del beneficio obtenido, (MITIENDA -9€). Fijaremos tambien las condiciones de uso, si está o no activado, cuantas veces puede ser usado y/o cuantas veces puede usarlo un mismo cliente.

 

Image
Cupones de descuento con drupal commerce 3

Finalmente, guardaremos los cambios y listo, Solo nos queda compartir el cupón para que empiecen a usarlo. Y esto ha sido crear cupones de descuento con Drupal Commerce, recordad que tenéis este y otros manuales de ayuda en el blog y si aun así no halláis respuesta a vuestro problema, podéis publicar vuestras preguntas en el tablón, donde la comunidad os ayudará a resolverlas.

Image
Composer, uso y aplicación de este proceso en Drupal
Composer, uso y aplicación de este proceso en Drupal

Este proceso ha sido y es muy habitual en muchos casos pero un gestor de dependencias nos facilita mucho esta tarea y además soluciona un problema muy común y es el de la gestión de versiones, ya que si lo hacemos manualmente, tenemos que periódicamente revisar que ese software o librerías que nos descargamos, no haya tenido una actualización, porque en tal caso, tendríamos que realizar el proceso manualmente. Composer nos facilita la vida mediante un proceso que simplifica estas tareas.

Lo primero que debemos tener es instalado el Composer en nuestro sistema, y eso requiere un proceso que depende del sistema sobre el que deseemos instalarlo, si es en Windows, en Linux, Mac, etc. Dejo la url desde donde podrás seguir los pasos fácilmente. https://getcomposer.org/doc/00-intro.md

Una vez instalado el programa, abre un terminal y ejecuta composer --version o simplemente composer para verificar que te responde. Si lo has instalado de modo global, puedes probarlo desde cualquier parte del sistema.

Para poder trabajar con composer en nuestro proyecto, nos dirigimos a la carpeta en que lo tenemos, y podemos crear nuestro entorno Composer automáticamente o manualmente.

De modo automático, ejecutamos el comando composer init. Lo primero que nos pedirá es que introduzcamos el nombre del proyecto, el cual se compone de vendor u organización, seguido una barra, y a continuación el nombre del proyecto. Por ejemplo micomposer/nuevaprueba.

Nos pedirá una descripción.

Image
Welcome to the composer config generator

A continuación nos pedirá que introduzcamos una descripción.

Image
Description

Nos pedirá el autor.

Image
Author

Nos pedirá algo un poco extraño, que es la estabilidad mínima, en este caso si estamos trabajando en modo desarrollo introducimos dev para que nos descargue versiones de desarrollo en las dependencias. Si pulsamos enter directamente nos bajará sólo las versiones estables.

Image
Minimum Stability

A continuación el tipo, en nuestro caso va a ser un proyecto.

Image
Package Type

En el tipo de licencia podemos poner MIT que es la licencia más usada en open source. Si no fuera open source pondríamos propietary.

Image
License

En este punto podemos ya empezar a incluir dependencies de manera interactiva. Nos pregunta si vamos a necesitar alguna y para ello enter en yes.

Image
Dependencies

Nos pedirá que introduzcamos un paquete y como ejemplo introducimos ckeditor. Puede salirnos un conjunto de opciones. Pulsamos el número correspondiente a la opción de paquete ckeditor que queramos instalar como dependencia.

Image
Search package

Nos permitirá indicar una versión específica pero si no queremos indicar una y que se instale la última pulsamos enter.

Image
Version

Nos indicará la versión que se va a instalar, en este caso la dev-master y nos pedirá si queremos añadir otra dependencia.

Image
Dev-master version

Como no voy a instalar más dependencias, pulso enter, y nos preguntará que vamos a necesitar alguna dependencia específica para el desarrollo. Como no la vamos a necesitar escribo no y pulsamos enter.

Image
require-dev

Nos preguntará si queremos aplicar la estandarización PSR-4 de clases, en nuestro caso le vamos a decir que no.

Image
PSR-4

Me sale el resumen para confirmar del proyecto Composer pulsamos directamente enter para confirmar.

Image
Resumen

Nos pedirá si queremos intalar las dependencias indicadas en ese momento y le decimos que sí.

Image
Instalación de dependencias

De este modo ya tendríamos configurado Composer para gestionar nuestras dependencias.

Los componentes que Composer nos puede gestionar se encuentran en la página https://packagist.org/, en ella podemos realizar una búsqueda y encontrar una enorme cantidad de librerías y dependencias.

Podemos crear la configuración de nuestro proyecto Composer manualmente del siguiente modo.

Para poder gestionar composer necesita un fichero llamado composer.json, en cual introducimos los paquetes que deseamos que Composer nos gestione. El fichero tiene que estar escrito en json por lo que al editarlo, lo primero que tenemos que hacer es abrir y cerrar llaves.

En la primera parte introducimos un conjunto de valores que son opcionales y que se introducen en estructura campo-valor, de la siguiente manera.

{

  “name”: “micomposer/prueba-composer”

}

La primera parte del nombre, antes de la barra es el vendor y a continuación el nombre del proyecto.

El resto de datos opcionales es muy amplio y puede comprender, no solo el nombre, sino la versión, el tipo , la licencia, la descripción, etc. No obstante, el Composer necesita el campo require, que es el que guarda las dependencias que nosotros le digamos. Es un objeto que guarda todas las dependencias en modo clave valor.

{

  “name”: “micomposer/prueba-composer”,

  “require”: {

   

  }

}

Cuando entramos en alguno de los proyectos en la web packagist, nos indicará como tenemos que ponerlos. Por ejemplo:

Image
Packagist

Kint es una librería que nos permite debuguear o mostrar las variables que tengamos en nuestro programa de manera más amigable. Drupal lo suele utilizar con el módulo Devel, pero ese es otro tema. Si pulsamos la primera opción “kint-php/kint”, veremos la siguiente pantalla https://packagist.org/packages/kint-php/kint

Veremos las distintas versiones y observaremos que lo que tenemos que poner es la clave valor, la primera el nombre kint-php/kint, y a continuación la versión, separado por dos puntos y entre comillas como vemos a continuación.

{

  “name”: “micomposer/prueba-composer”,

  “require”: {

    “kint-php/kint”: “dev-master”,

  }

}

La versión requiere conocer las opciones ya que podemos controlar qué versiones queremos instalar como comodines y signos.

Si ponemos, por ejemplo la versión “5.2.*”, estaremos indicando a Composer que nos instale cualquier versión superior a 5.2 e inferior a 5.3. si ponemos una versión sin comodines le estaremos indicando que nos instale esa versión en particular y ninguna otra.

Si queremos que se instale una versión igual o superior utilizaremos el sistema >=5.2.

Podemos introducir un intervalo de versiones como 5.2 - 6.8, que es equivalente a >=5.2 <6.8.

Puedes encontrar todas las opciones en la página https://getcomposer.org/doc/articles/versions.md

En nuestro caso vamos a utilizar la versión última indicada en la página que es la dev-master que corresponde a la última rama de desarrollo.

Algo importante a tener en cuenta a la hora de generar el fichero es que tiene que estar codificado en UT8 a secas.

Guardamos el fichero y abrimos un terminal. Nos dirigimos a la carpeta donde hemos creado el composer.json y ejecutamos el comando composer install.

Image
Composer install

Observaremos que nos ha creado una carpeta vendor en la que introduce las dependencias.

Image
Dependencias

Vemos que ha instalado la carpeta kint-php con la versión que le hemos indicado, y una carpeta composer con las librerías que necesita el programa.

También podemos ver el fichero autoload.php que contiene código para la carga automática de todas las librerías que gestionemos con composer.

En nuestro index.php cargamos el autoload con require y metemos un array o variable en la función d().

<html>

<head></head>

<body>

<?php

. require “vendor/autoload.php”;

$miarray = [‘María’, ‘Pedro’, 43, TRUE, 786,6];

d($miarray);

?>

</body>

</html>

El resultado es el que sigue:

Image
Array

La librería nos facilita el trabajo de visualizar las variables.

Si nosotros queremos añadir nuevas librerías ya no podemos hacer un install porque ya está instalado, tendríamos que modificar el composer.json y añadir la nueva librería, y ejecutar composer update.

Una librería muy utilizada en drupal es ckeditor, para editar texto. Buscamos en la web packgist.org, y cambiamos el fichero composer.json introduciendo la siguiente línea al apartado require.

“ckeditor/ckeditor”: “4.16.1”

Recordemos que la última linea del array no tiene coma pero la anterior si.

Guardamos e introducimos en el terminal el comando composer update y tendremos el siguiente resultado.

Image
Composer update

Además de instalarnos la nueva librería, Composer comprobará si alguna de las existentes tiene alguna actualización pendiente, y la instalará siempre y cuando lo tengamos así estipulado en los requisitos de las versiones que hablamos antes.

Observamos la carpeta vendor y tenemos la nueva carpeta ckeditor.

Image
Nueva carpeta ckeditor

Una característica importante a tener en cuenta es que la librería que nos vamos a descargar requiere otras librerías como dependencias, Composer instalará aquellas, sin que nosotros tengamos que especificarlo.

Es posible que deseemos eliminar una librería, en ese caso tenemos que borrar la librería del fichero composer.json, guardar y ejecutar el comando composer update. De ese modo, Composer se encarga de eliminar automáticamente la librería.

Hasta aquí hemos visto el uso de Composer, de modo básico pero que nos dará un plus de profesionalidad. Espero con ello haber podido ayudar o al menos aclarar a quien lo necesite esta herramienta esencial en el desarrollo con Drupal.

Image
Descuentos con Drupal Commerce, como crearlos
Descuentos con Drupal Commerce, como crearlos

Para crear descuentos con Drupal Commerce para nuestra tienda, vamos hasta /admin/commerce/descuentos y le damos a “añadir descuento”.

Image
Descuentos con Drupal Commerce

Le daremos un nombre para ayudarnos luego a identificarlo sin necesidad de editarlo, por ejemplo “5% de descuento compras +50€”. Si queremos que cuando se muestre al cliente se llame de otra manera, rellenaremos “nombre a mostrar” con ella, para que vean, por ejemplo “ 5% promoción de primavera” cuando se aplique el descuento en la cesta. También podemos rellenar la descripción del descuento, que solo será visible por el admin de la web.

Image
Descuentos con Drupal Commerce

Seleccionaremos entonces, del desplegable, el tipo de descuento que queremos aplicar, puede ser que al comprar un producto obtenga otro de regalo, o que determinados productos tengan descuento… las posibilidades son muy amplias, para este caso usaremos la ultima, “porcentaje del subtotal del pedido”.

Image
Descuentos con Drupal Commerce

Una vez seleccionado el tipo de oferta, debemos marcar las condiciones bajo las que se aplicará el descuento, que pueden ser por pedido, por cliente o por productos, pero no son excluyentes, es decir, podemos crear reglas de descuento complejas seleccionando y configurando varias condiciones a cumplir.

Image
Descuentos con Drupal Commerce
Image
Descuentos con Drupal Commerce

Nosotros seleccionaremos “total del pedido actual” y haremos que al comprar mas de 100€ en producto, se aplique el descuento. Así que como operador seleccionamos “mayor que”, en cantidad pondremos 100,00 y en la divisa usaremos la correspondiente a nuestra tienda.

Image
Descuentos con Drupal Commerce

Con esta condición definida, si el cliente coloca en su cesta producto o productos, por un valor total de 100€ no obtendrá descuento pero si dicho valor es de 101€ si se le aplicará el descuento. Por último en esta sección debemos indicar si queremos que “todas las condiciones deben pasar” o que “solo una debe pasar”. En nuestro ejemplo, al ser una sola condición da igual lo que pongamos, pero si es una regla compleja, en la que haya varias condiciones pero no todas sean necesarias aplicaríamos “solo una debe pasar”, para que en la caso de cumplir una de las definidas aplicara el descuento.

Pasamos entonces a activar la regla de descuento creada ( o no ), marcaremos en que tipo de pedido será aplicada y definiremos la fecha de inicio de la promoción, si queremos por ejemplo que se active el 1 de mayo y se desactive el 15 junio, los limites de uso (cuantas veces puede un mismo cliente hacer uso del descuento, ilimitadas o el numero de veces que definamos nosotros), y la compatibilidad con otros descuentos, (si tenemos varios aquí podemos decidir si se puede aplicar mas de uno en la misma compra).

Image
Descuentos con Drupal Commerce

Y esto ha sido Descuentos con Drupal Commerce, recordad que tenéis este y otros manuales de ayuda en nuestro blog y si aun así no halláis respuesta a vuestro problema, podéis publicar vuestras preguntas en el tablón, donde la comunidad os ayudará a resolverlas.

 

 

Image
Drupal Commerce impuestos
Drupal Commerce impuestos

Drupal Commerce impuestos.

Al usar Drupal Commerce para crear una tienda, necesitaremos, antes o después, definir los impuestos que se van a aplicar en cada venta sobre los productos o servicios que se ofrezcan. Deberemos crear un impuesto tipo IVA o VAT, que se aplicará en los productos y aparecerá en el checkout. Podremos además decidir si mostrar el precio con el impuesto añadido en el producto o no, y que Drupal Commerce lo desglose y lo muestre durante el proceso de compra. Si vuestro tipo o tipos de producto tienen todos la misma tasa de impuestos, podréis definir esta parte en unos pocos clics.
Para ello seguimos, desde el menú de administración, la ruta Comercio—Configuración—tipos de impuesto, y al ver esto:

Image
Drupal Commerce impuestos

Pulsamos sobre “añadir tipo de impuesto” para comenzar a configurar nuestro Iva o Vat, le asignamos un nombre para identificarlo en la vista de configuración general (solo nosotros veremos este nombre).

Image
Drupal Commerce impuestos

A continuación seleccionamos el tipo de extensión, para este ejemplo marcaremos “personalizado” en el listado. Si marcamos la opción “mostrar tasas…”, cuando se muestre la vista del producto, mostrará el precio con este impuesto incluido, si no lo marcamos, lo mostrará desglosado durante el proceso de compra.

Image
Drupal Commerce impuestos

En la etiqueta a mostrar seleccionamos impuesto, puesto que en el campo siguiente ya ampliaremos la información mostrada.

Image
Drupal Commerce impuestos

Ahora le damos un nombre a la tasa (este es el nombre que verá el cliente cuando haga la compra) y le indicamos el porcentaje a aplicar.

Image
Drupal Commerce impuestos

Si quisiéramos indicar un país o países concretos donde aplicar esta tasa, los seleccionamos desde la siguiente opción, con los países seleccionados, si el cliente no pertenece a alguno de ellos no se le sumará el impuesto, si no añadimos nada, la tasa se usará en todos los productos, independientemente del país del usuario que haga la compra.

Image
Drupal Commerce impuestos

Finalmente, cliqueamos sobre guardar para almacenar los cambios. Podemos crear tantas tasas como sea necesario, repitiendo este proceso para cada una de ellas.

Y de esta manera hemos añadido nuestro primer impuesto a Drupal Commerce. Recordad que podeis ver este y otros manuales de ayuda en el blog, y si no encontrais alli respuesta a vuestras dudas, podeis publicarlas en el tablón, donde serán respondidas por la comunidad, o enviarnos un mensaje.

Image
navegador de entidades
Drupal Navegador de Entidades: Como hacer que muestre lo preseleccionado.

Vamos a ver: Drupal Navegador de Entidades: Como hacer que muestre lo preseleccionado. 

Con el módulo Entity Browser podemos seleccionar una taxonomía, medio o nodo con un método más visual y cómodo que una autocomplete o una lista, ya que nos abre una ventana modal o iframe que contiene una vista que podemos customizar de la manera que queramos

Pero, además de que no es un modulo sencillo por si mismo, de manera natural tiene una funcionabilidad que no es la apropiada cuando vas a seleccionar una entidad, pues cada vez que quieras seleccionar una nueva entidad te la suma, no modifica.

Para que su comportamiento sea el de remplazo de tu preselección, te ponemos los pasos que has de seguir:

Lo primero del todo es en la entidad nueva de  “entity browser” , desplegar la última opción de “selection display” y seleccionar  “multi step selection display” e indicarle que tipo de entidad estas usando en el campo que vas a mostrar con este display.

Drupal entity browser

Lo siguiente ( que ya te lo pide el modulo) es crear una vista del tipo “navegador de entidades”  que muestre las entidades tal como quieres que se vean , que hagas los filtros que necesites y sobre todo, muy importante, que como filtro contextual  añadas la ID de la entidad que estas mostrando.

Drupal navegador de entidades

En mi caso, como estoy mostrando una taxonomia es TID ( Taxonomy ID) desde el filtro contextual , marcando “entity browser Context”

drupal entity browser Context

Por último, en el formulario del campo que quieres que se muestre con “entity browser” , le das a la tuerquecita de la derecha y en selection mode marcas “edit selection”

Drupal entity edit selection

Un consejo: aplícale unos pocos estilos custom al modal que se te abre o será ilegible o incomodo de usar.

Esto ha sido: Drupal Navegador de Entidades: Como hacer que muestre lo preseleccionado. 

Esperamos haberos ayudado, dejad comentarios si necesitáis mas detalles o no os funciona