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
Módulo custom en Drupal 8/9 : Mi primer módulo
Módulo custom en Drupal 8/9 : Mi primer módulo

Lo bueno de Drupal es que es una comunidad muy activa, en la cual muchas personas contribuyen añadiendo funcionalidades para que el resto de las personas las puedan utilizar. Aun así, siempre surge la necesidad a la hora de crear o mantener un portal disponer de funcionalidades que o bien no existen o existen, pero no se adaptan a nuestras necesidades. En este caso podemos crearlas nosotros mismos de una manera muy sencilla. Así que vamos a aprender a crear un módulo custom en Drupal.

Antes de empezar, necesitamos saber que en Drupal existen dos tipos de módulos:

Image
Estructura básica

Los módulos contrib que son los que podemos encontrar en Drupal.org y que están disponibles para su uso por cualquier persona que los descargue y los módulos custom que son aquellos privados que se usan en un proyecto en concreto y no son públicos.

En nuestro caso crearemos nuestro módulo dentro de la carpeta custom, para ello simplemente creamos un nuevo directorio con el nombre de nuestro módulo. Algo a tener en cuenta y que es muy importante, es que el nombre de la carpeta será el nombre máquina que Drupal utilizará para llamar a las funciones dentro del módulo.

Para el ejemplo, crearemos un módulo que se llamara "A Test", por lo que crearemos el directorio con el mismo nombre.

Image
a_test module

Fíjese que siempre se tiene que añadir en minúsculas y los espacios se transforman en guiones bajos.

Una vez creada la carpeta del módulo necesitamos generar dentro de ella un fichero por el cual Drupal será capaz de detectar que el nuevo directorio es un nuevo módulo. El nombre del fichero tiene que contener el nombre máquina del módulo seguido de ".info.yml".

Image
Info.yml

El contenido de este archivo debe seguir una estructura básica la cual puede ser mucho más extensa dependiendo de la funcionalidad.

name: A Test
type: module
description: Mi primer módulo custom
package: custom
core_version_requirement: ^8.8 || ^9

Donde especificamos el nombre, tipo, descripción, package o grupo de módulos y la versión de Drupal donde nuestro módulo funciona.

Cuando este fichero ya está creado y rellenado, Drupal ya sabe que existe y si navegamos al listado de módulos desde dentro del propio portal, nuestro módulo ya es visible para instalar.

Image
Install

 

Y así es como podemos crear un módulo custom en Drupal 8/9.

Para mas información visite nuestro blog.

 

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

Image
Restablecer la contraseña de admin de Drupal 8
Restablecer la contraseña de admin de Drupal 8

Seguro que conocéis los scripts incluidos en el core de Drupal 8 para restablecer la contraseña del admin, pero no todos los servicios de alojamiento permiten el acceso SSH necesario para ejecutarlos, lo que hace que sea imposible recuperar la contraseña de la cuenta de administrador de Drupal 8 a través de la línea de comandos.
Este método solo debe emplearse como última opción cuando todo lo demás falla.
Esta forma de restablecer la contraseña, usa un script PHP que debe cargarse en el servidor web, por lo que debemos poseer la capacidad de cargar dicho PHP en el servidor donde está alojado el sitio web.
En esencia, el script PHP ejecuta un bootstrap completo de Drupal para obtener acceso a las funciones necesarias que generan la contraseña administrativa y luego actualiza la base de datos con la nueva contraseña que especificamos desde de la URL cuando ejecutamos el script mediante el navegador web.


OJO: dejar este script en el servidor después de restablecer la contraseña constituye un agujero de seguridad muy grave que permite a cualquier persona restablecer la contraseña de administrador. Úsalo con cuidado y elimínalo siempre que hayas terminado de usarlo.

Empecemos:

1.    Primero, crea un archivo con un nombre cualquiera (auladrupal.php por ejemplo).
2.    Copia y pega el siguiente código de Drupal en el archivo y guárdalo.

<?php
use Drupal\Core\DrupalKernel;
use Symfony\Component\HttpFoundation\Request;

if (pathinfo(__FILE__, PATHINFO_FILENAME) == 'admin-pass-reset') {
  die('Please change your file name to a random string to continue');
}

// Boot Drupal.
$autoloader = require __DIR__ . '/autoload.php';

$request = Request::createFromGlobals();
$kernel = DrupalKernel::createFromRequest($request, $autoloader, 'prod', FALSE);
$kernel->boot();

// Get password hasher service.
$password_hasher = $kernel->getContainer()->get('password');

// Hash password.
if (isset($_GET['pass']) && !empty($_GET['pass'])) {
 $newhash =  $password_hasher->hash($_GET['pass']);
}
else {
  die('Retry with ?pass=PASSWORD set in the URL');
}

// Update user password.
$updatepass = Drupal::database()->update('users_field_data')
  ->fields(array(
    'pass' => $newhash,
//  'name' => 'admin',
//    'mail' => 'yourmail@example.com'
  ))
  ->condition('uid', '1', '=')
  ->execute();

// Clean user 1 cache.
Drupal::cache('entity')->delete('values:user:1');

print "Listo. Por favor, borra este archivo lo antes posible";

 

3.    Sube el archivo a la raíz del directorio de instalación de Drupal (es decir, donde existen index.php, update.php, robots.txt y otros archivos y directorios).
4.    Ejecuta el script, solicitando el archivo en un navegador web utilizando el siguiente patrón de URL:

http://auladrupal.com/auladrupal.php?pass=mypassword

5.    En la URL anterior:

  • cambia auladrupal.com con tu nombre de dominio real.
  • cambia auladrupal.php con el nombre de archivo real que especificó en el paso uno anterior,
  • cambia mypassword con la nueva contraseña deseada.


6.    Nota: Te recomiendo que elijas una contraseña que contenga letras y números en mayúsculas y minúsculas, y que tenga al menos 12 caracteres.
7.    Si la secuencia de comandos se ejecuta correctamente, verás el texto "Listo" en tu navegador web. La contraseña de la cuenta administrativa creada al instalar Drupal (es decir, usuario / 1) se cambiará a "mypassword" (o cualquier valor que especifiques).
8.    Finalmente, elimina el archivo del directorio raíz de instalación de Drupal.

Cambiar el nombre de usuario de la cuenta de administrador

Si no recuerdas (o simplemente no sabes) el nombre de usuario de la cuenta de administrador, en el script anterior, descomenta la linea // 'name' => 'admin', a 'name' => 'admin', y el nombre de usuario también se cambiará a "admin".
También puedes restablecer la dirección de correo electrónico del administrador de la misma manera, descomentando (elimina las //) la línea de la dirección de correo electrónico en el script anterior.

Por último, no olvides eliminar el archivo tan pronto como hayas cambiado la contraseña.

Y este es el método para restablecer la contraseña del admin en Drupal 8

Si necesitas más ayuda, visita este enlace o contacta con un desarrollador.

Image
Como configurar una FTP en PHPStorm
Como configurar una FTP en PHPStorm

PhpStorm tiene muchas utilidades de las cuales hablaremos en varios artículos de ayuda. Ahora vamos a explicar cómo configurar una FTP en PHPStorm.

Esto nos puede ser de mucha utilidad cuando no trabajamos con git, o cuando necesitamos subir archivos 

En el menú superior, desplegamos Tools y dentro Deployement. Abajo del todo vamos a la ultima opción “Browse Remote Host

Como configurar una FTP en PHPStorm

 

Para añadir nuestro servidor debemos cubrir el host ( IP o dominio ), el Username y el Password. Probaremos con el Test conectión si nuestros datos son los correctos y a continuación abriremos el icono de la carpetita en Root path para indicarle la ruta “dentro del server” en la que nos queremos situar.

 

Como configurar una FTP en PHPStorm

 

En la siguiente pestaña de Mappings es importante igualar el directorio remo al local, de la tal manera que ambos contengan las carpetas vendor, web etc… bajo la misma raíz.

 

Como configurar una FTP en PHPStorm

 

Una vez tengamos bien configurado nuestro FTP, es muy útil para poder hacer subidas, descargas e incluso comparaciones con el servidor. Solo tenemos que pulsar con el botón derecho sobre un archivo o ruta, bajamos hasta Deployement y se nos abrirán las opciones de subida, bajada y sincronización.

 

Como configurar una FTP en PHPStorm

Esto ha sido Como configurar una FTP en PHPStorm

Puedes descargar PHPStorm desde aqui