[Módulo] – Preguntas frecuentes en Prestashop

En el pasado estuvimos hablando en este blog de los siguientes aportes:

Añadir preguntas frecuentes en Prestashop 1.6 y 1.7
Reseña – Módulo FAQ para Prestashop

El primero sigue funcionando correcto ya que es una modificación de JS y CSS, el segundo fue un módulo del año 2012 que dejo de funcionar correctamente tras las posteriores actualizaciones de Prestashop.

En esta ocasión toca reseñar un módulo del usuario bortonecesario de la Comunidad de Prestashop

Como cualquier otro módulo realizamos la instalación del módulo desde la pestaña módulos -> módulos

Módulo instalado

Accedemos a la configuración del módulo.

Pantalla inicial de configuración

Vamos añadir una nueva pregunta pulsando el botón “+”

Añadir nueva pregunta

Posteriormente al pulsar el botón “+” veremos el siguiente formulario:

Formulario creación de pregunta

Question -> Para añadir la pregunta
Answer -> Para añadir la respuesta

Hemos repetido varias veces el proceso para ver como se visualiza luego en la tienda el bloque de preguntas frecuentes en la tienda.

Preguntas frecuentes en Prestashop

Cuando pinchamos sobre la pregunta, se despliega la respuesta.

Preguntas frecuentes deplegadas

Por lo que veo en el código del módulo, al instalarse te añade automaticamente un enlace al menú horizontal, otra cosa es que luego cambien este aspecto en futuras versiones del módulo.

Enlace añadido al menú horizontal

De todos modos, recordar que podéis personalizar/quitar el enlace del menú horizontal desde la configuración del menú horizontal en la pestaña módulos -> módulos de tu tienda.

Además, añade un enlace en el pie de página (en el módulo Bloque CMS) que puedes editar desde la pestaña módulos -> módulos dentro de la configuración del módulo: Bloque CMS (blockcms):

Enlace pie de página

La url para acceder a la sección de páginas frecuentes es:

tuweb.com/prefijo_idioma/module/faq/faqpage

En la pestaña Preferencias -> SEO y URLS (en PS 1.7 pestaña Parámetros de la tienda -> Trafico & SEO y URL)

Podéis personalizar la URL del módulo.

Configurar url amigable del módulo
  • Nosotros hemos indicado que la URL amigable para la página FAQ sea “preguntas-frecuentes”, de esta forma podemos acceder a la sección directamente desde:tuweb.com/prefijo_idioma/preguntas-frecuentes

¿Dónde puedo descargar la última versión del módulo y preguntar dudas?

https://www.prestashop.com/forums/topic/664951-free-module-faq-frequently-asked-questions/

Descarga alternativa de una versión antigua del módulo en caso de que falle la url del foro.

Reseña construida bajo Prestashop 1.6.1.18 con la versión “1.0.0” del módulo

Print Friendly, PDF & Email

Desactivar el formulario de contacto en Prestashop

Este documento es para Prestashop 1.6

Si queremos desactivar el formulario de contacto, tenemos distintas posibilidades.

Fuente: https://stackoverflow.com/questions/38916902/prestashop-disable-contact-form

  • 1º – Crear un módulo para cuando accedamos al formulario de contacto redireccione a la página 404 de nuestra tienda o a otra sección distinta de la tienda.
    Código módulo

    El módulo queda instalado en el hook -> actionDispatcher

    Dentro de la función del hook -> actionDispatcher que definimos en el módulo comprobamos si el controlador es correspondiente al del formulario de contacto, si la condición es cumplida redireccionamos la página del formulario de contacto. En este ejemplo nos lleva a la página 404.

    Descargar módulo aquí:  Descargar

  • 2º – Crear un override del controlador /controllers/front/ContactController.php, recordamos que el override se guarda en el directorio: /override/controllers/front/
    Nombre del Override: ContactController.php

    Override del controlador del formulario de contacto

    Fijaros que en el condicional, lo que hace cuando pulsamos el botón enviar del formulario de contacto es pararlo todo y en caso contrario llamamos a la función postProcess de la clase padre.

    Eliminar fichero: /cache/class_index.php para que Prestashop nos detecte el nuevo override.

    Se ha detenido la acción de pulsar el botón “Enviar” del formulario de contacto, pero el formulario sigue visualizándose, lo que puede conllevar una confusión a los clientes que visiten tu tienda.

    El siguiente paso es editar el fichero: /themes/default-bootstrap/contact-form.tpl comentando la visualización del formulario de contacto.

    Por ejemplo, puedes comentar el contenido (comentar código en Smarty) después (a partir) de la siguiente línea:
    {capture name=path}{l s=’Contact’}{/capture}

    De esta forma veremos el formulario de contacto, pero sin contenido:

    Formulario de contacto sin contenido en Prestashop

    Y luego personalizar el TPL a vuestro gusto añadiendo una nueva estructura.

    Si tras modificar el TPL no apreciamos los cambios, recordar limpiar la cache de Prestashop en la pestaña Parámetros Avanzados -> Rendimiento.

    Descargar el override del controlador: Descargar
    Descargar fichero TPL modificadoDescargar

PosData: Se han indicado “2” posibilidades a la hora de intentar desactivar el formulario de contacto, existen más opciones y se puede hacer de diferente forma.

Documento construido bajo Prestashop 1.6.1.18 bajo la plantilla por defecto.

Print Friendly, PDF & Email

IP del cliente en el email del formulario de contacto en Prestashop

Aporte del usuario Masteries de la Comunidad de Prestashop traducido del idioma de Shakespeare al idioma de Cervantes con información adicional.

Con este manual para Prestashop cuando nos envíen un mensaje mediante el formulario de contacto de Prestashop podremos ver en el email recibido la IP de procedencia de la persona que ha enviado dicho mensaje.

Email recibido

Aunque inicialmente el aporte es para Prestashop 1.6 con la plantilla por defecto, al final de la entrada haremos algunas aclaraciones sobre el mismo para Prestashop 1.7

El primer paso es construir un override del controlador/controllers/front/ContactController.php

1 – Vamos al directorio: /override/controllers/front/ 
2 – Creamos un fichero con nombre: ContactController.php para definir el override.

Definimos el contenido del override del siguiente modo:

Definiendo override del controlador

Dentro del override del controlador vamos a copiar del original:  /controllers/front/ContactController.php la función:  public function postProcess() y la pegamos dentro del override que hemos creado.

Pegar función
Pegar función

Dentro de la función que hemos pegado, vamos a buscar las variables que podemos usar en los emails del formulario de contacto.

Y añadimos la siguiente:

Quedando del siguiente modo:

Código modificado

De esta manera podremos usar en los emails la variable {ip_cliente} para obtener la ip desde donde se ha enviado el formulario de contacto.

A la variable {ip_cliente} le estamos pasando la IP de procedencia desde donde se ha enviado el formulario de contacto porque le hemos pasado la función getRemoteAddr() de la clase Tools. Si tenemos interés en que hace verdaderamente dicha función lo podéis ver en el fichero /classes/Tools.php buscando la función: public static function getRemoteAddr().

Tras terminar de construir el override, eliminar el fichero /cache/class_index.php para que Prestashop 1.6 reconozca el nuevo override. No os preocupéis porque el fichero borrado se regenera automáticamente.

El siguiente paso es editar los ficheros correspondientes al email que recibes tu cuando te envían un mensaje mediante el formulario de contacto y añadir la variable que hemos creado para ver la IP.

Editamos los ficheros:
mails/es/contact.html y contact.txt
/themes/default-bootstrap/mails/es/contact.html y contact.txt (recordar que el que esta sobreescrito en la plantilla (en en este ejemplo estamos usando la plantilla por defecto que se denomina default-bootstrap) es el que tiene prioridad)

Recordar que también podéis hacerlo desde el panel de traducciones en la pestaña Localización -> Traducciones -> Modificar Traducciones

Traducciones emails PS
Traducciones emails PS
Editar Email
Editar Email

Una vez hemos accedido a los emails para modificarlos, toca añadir la variable: {ip_cliente}

Fichero contact.html

contact.html
contact.html

Fichero contact.txt

contact.txt
contact.txt

Tip valido para Prestashop 1.6 y probado hasta Prestashop 1.6.1.18

Descargar Override construido bajo Prestashop 1.6.1.18

Por si en un futuro actualizan el aporte para Prestashop 1.7 o tenéis dudas sobre el aporte actual, podéis ver el enlace original del aporte en el foro de Prestashop:

https://www.prestashop.com/forums/topic/626268-tutorial-show-customers-ip-address-in-e-mail-from-the-contact-form/


Respecto Prestashop 1.7 (hasta Prestashop 1.7.2.4) por el momento os dejo tres pistas:

Fichero: modules/contactform/contactform.php -> Función public function sendMessage() encontrareis respecto a las variables habilitadas para el uso en los emails lo siguiente:

Donde podemos añadimos:

Para luego hacer uso de la variable {ip_cliente} en los emails.

Evidentemente lo ideal sería siempre que se pueda crear un override de la clase del módulo contactform (contactform.php) en el directorio /overrides/modules/contactform/ para hacer los pertinentes cambios depende tocar la clase original.

Por cierto, para que os detecte el override en PS 1.7 (hasta 1.7.2.4) directamente hacer clic sobre el botón limpiar(vaciar) cache situado en la parte superior de la zona de acceso correspondiente a la pestaña Parámetros Avanzados -> Rendimiento.

Como no todo es un regalo, os dejo investigar para que veáis como se hace un override de una clase un módulo. Por el blog incluso tenéis algún ejemplo.

Print Friendly, PDF & Email

Tipos de campos de los formularios (HelperForm) en Prestashop

Introducción (leer atontados)

No voy a comentar todos los tipos de campos disponibles para usar en Prestashop, pero espero que los que vaya comentando junto con su explicación de forma detallada os sirva de ayuda.

Aquí solo hablamos de la generación de formularios no de guardar esos datos y obtener los valores de los formularios, cosa que tenéis explicada en el blog en varios TIPS desde hace años.

Empecemos:

Por ejemplo, en la pestaña Diseño -> Páginas  al editar unos de los contenidos o crear uno nuevo, veremos que tenemos los siguientes campos disponibles:

Campos

Al acceder al controlador: /controllers/admin/AdminCmsController.php

Veremos dentro de:  $this->fields_form = array( … ‘input’ => array los campos del formulario:

Campos

El formulario se inicia a partir de: $this->fields_form = array(

Inicio formulario

Donde podemos ver la etiqueta/título del formulario y el icono

Etiqueta formulario
Etiqueta formulario
Etiqueta formulario
Icono formulario
Icono formulario
Icono formulario

La opción: tinymce es para activar el editor TinyMCE (el típico editor que veis en las descripciones para colocar negritas, añadir imágenes, etc..) en el formulario. Posteriormente podemos indicar en que campo queremos activarlo o dejar de activarlo.

A continuación, dentro de:  ‘input’ => array( … )’ visualizamos los campos del formulario.

Y cuando cerramos el array de campos (input) metemos los botones del formulario (para guardar los cambios, etc..)

Botones

En este TIP, vamos a hablar de algunos de los campos que vemos en la sección de la ficha de edición a la que hacemos referencia, si en algún momento hablamos de otro campo distinto a los indicados en la captura inicial comentaremos donde hemos visto el campo.

Tipos de campo: Lista desplegable (HelperForm)  en Prestashop

Siguiendo lo que habíamos comentado anteriormente, vamos a ver los tipos de campos que teníamos disponible al editar un contenido en la pestaña Diseño -> Páginas

Controlador: /controllers/admin/AdminCmsController.php

Vemos el campo “categoría de la página de contenidos“:

Categoría página

Correspondiente al siguiente código:

  • type -> tipo del campo (En este caso select_category)
  • label -> Etiqueta del campo

    Etiqueta campo
    Etiqueta campo
  • name -> nombre interno del campo
  • options -> Recordamos que este campo es una lista desplegable (select). En este caso estamos cargando el array de categorías en los valores del campo
    Lista desplegable
    Lista desplegable

    Si intentamos ver en el fichero el valor de la variable, veremos la siguiente asignación:

    Asignación variable
    Asignación variable

    Donde estamos obteniendo los valores de las categorías de los contenidos que hemos creado en la pestaña Diseño -> Páginas

    Los esta cargando de la función: recurseCMSCategory de la clase /classes/CMSCategory.php

Función recurseCMSCategory
Función recurseCMSCategory

Por ejemplo, en la pestaña Clientes -> Clientes vemos en la ficha de edición de los Clientes el “Grupo de clientes predeterminado

Selector

Al acceder al fichero: controllers/admin/AdminCustomersController.php lo encontramos en esta parte del código:

Tipo lista desplegable

type -> select (para indicar que es un campo de lista desplegable)
label -> Etiqueta del campo
name -> nombre interno
options -> valores del campo (lista)
hint -> texto que se muestra al pasar el ratón sobre el nombre del campo

Tipos de campo: Texto (HelperForm)  en Prestashop

Siguiendo con la ficha de edición de un contenido en la pestaña Diseño -> Páginas, observamos el campo “Meta descripción“.

Campo

Al acceder al controlador/controllers/admin/AdminCmsController.php vemos el siguiente código:

Campo de tipo texto

En type viene indicado “text” para indicar que es un campo de tipo texto.

En label, recordamos que es la etiqueta del campo.

Etiqueta campo

name -> nombre interno del campo

lang -> Para indicar si el campo es multilenguaje o no

multilenguaje

hint -> Información que aparece al pasar el ratón sobre el campo

Información adicional

Tipos de campo: Tags/Etiquetas (HelperForm)  en Prestashop

Seguimos en la ficha de edición de una página de contenidos en la pestaña Diseño -> Páginas y nos fijamos en el campo de “Meta Keywords / Meta palabras claves”

Campo etiquetas
Campo etiquetas

Al acceder al controlador/controllers/admin/AdminCmsController.php vemos el siguiente código (referente a dicho campo) :

Tipo de campo tags

type -> “tags” para indicar que es un campo de tipo etiquetas
label -> Etiqueta del campo
name -> nombre interno del campo
lang -> para indicar que el campo es multilenguaje.
hint -> Como hemos comentado antes, al pasar el ratón sobre el nombre del campo muestra información adicional.

Tipos de campo: Switch – Selección (HelperForm)  en Prestashop

Para no aburrirnos, seguimos con la ficha de edición de una página de contenidos en la pestaña Diseño -> Páginas

A continuación, vemos el campo “Indexación por motores de búsqueda” que nos ofrece entre seleccionar Sí o No.

switch

Al acceder al controlador/controllers/admin/AdminCmsController.php observamos el siguiente código:

switch

type -> switch
label -> etiqueta del campo
name -> nombre interno del campo
required -> para indicar si el campo es obligatorio.
values -> valores del campo

Valores del campo

Tipos de campo: Textarea/campo de texto en Prestashop (HelperForm)

Seguimos con la fiesta con la pestaña Diseño -> Páginas.

Nos encontramos con el campo del contenido de la página.

textarea

Cuando accedemos al controlador/controllers/admin/AdminCmsController.php observamos el siguiente código:

Código campo textarea
Código campo textarea

type  -> textarea para indicar el tipo de campo en cuestión.
label -> etiqueta del campo.
name -> nombre interno del campo.
autoload_rte -> para indicar si nos aparecerá el editor en el panel en el campo en cuestión.

Opción activada

Editor activado

Opción desactivada

Editor desactivado

lang -> para indicar si el campo es multilenguaje
rows y cols las típicas opciones de filas y columnas del tamaño del campo a la hora de visualizarlo.
hint -> Nota informativa que se visualiza cuando pasas el ratón sobre el nombre del campo

Tipos de campo: Campo selector de tiendas (HelperForm) en Prestashop

Seguimos dentro de la pestaña Diseño -> Páginas 

Campo tiendas

Controlador: /controllers/admin/AdminCmsController.php

Campo selector tiendas

En este ejemplo, como hemos salido de ‘input’ => array( … )’ (array de campos) y  también  del formulario lo que hacemos es meterlo directamente dentro del array con:

$this->fields_form[‘input’][] = array(

type -> “shop” para indicar que es un tipo de campo de tiendas
label -> etiqueta informativa
name -> nombre interno del campo

Tipo de campo: Campo contraseña (HelperForm) en Prestashop

Al acceder a la pestaña Clientes -> Clientes del panel de administración e intentar añadir un cliente o editar uno existente, veremos en el formulario del cliente entre otros campos disponibles el campo de contraseña:

Campo contraseña

Al acceder al controlador:

/controllers/admin/AdminCustomersController.php

Vemos el código de visualización del campo aquí:

Campo contraseña

type -> password para indicar que es un campo de tipo contraseña.
label -> Etiqueta del campo.
name -> nombre interno.
required -> para indicar si es o no obligatorio.
hint -> texto que se muestra al pasar el ratón sobre el nombre del campo.

Tipo de campo: Campo Email (HelperForm) en Prestashop

Seguimos con la pestaña Clientes -> Clientes y controlador:  /controllers/admin/AdminCustomersController.php

Campo email

Código:

Campo email

Realmente es un campo de tipo de texto, perocomo podéis ver en el “type”, la única variación es que en “prefix le añadimos la instrucción para que muestre el icono del correo:

Icono Email
Icono Email
Icono Email

Tipo de campo: Campo fecha/cumpleaños (HelperForm) en Prestashop

Siguiendo con el panorama en la pestaña Clientes -> Clientes

Fecha nacimiento
Fecha nacimiento

Código del campo en el fichero:  /controllers/admin/AdminCustomersController.php

Campo fecha de cumpleaños

type -> birthday para indicar que estamos trabajando con este tipo.
label -> Etiqueta el campo
name -> nombre interno del campo
options -> valores del campo, en este caso estamos cargando los días, meses y años.

Valores del campo

Por cierto, le estamos pasando la variable $days, $months y $years  que tiene el valor de días, meses y años porque antes las hemos declarado en la clase.

Obtener días, meses y años

Tipo de campo: Campo Radio / selección única  (HelperForm) en Prestashop

Siguiendo con el panorama en la pestaña Clientes -> Clientes

Campo selección única

Vemos el código de este campo en el fichero:  /controllers/admin/AdminCustomersController.php aquí:

Para no repetir lo mismo que hemos repetido, simplemente comentar el “type -> radio

Por otro lado en “values” cargamos los valores del campo, que en este caso los esta cargando de la variable $list_genders, que realmente tiene este valor:

Lo que hacemos es obtener los géneros/tratamientos que hemos configurado.

Tipo de campo: Grupo de campos con CheckBock   (HelperForm) en Prestashop

Ya que estamos en la pestaña Clientes -> Clientes y  como no queremos movernos mucho observemos el campo: “Acceso a grupo

Acceso a grupo

Al observar el código del campo en el fichero:

/controllers/admin/AdminCustomersController.php

Veremos:

group

type -> group.
name -> nombre interno del campo.
label -> etiqueta de campo.
values -> valores del campo. Aquí estamos cargando los grupos de clientes creados en Prestashop.

¿Qué contiene la variable $groups?

Valor almacenado en la variable groups
Valor almacenado en la variable groups
Función getGroups
Función getGroups

Obtenemos el grupos de clientes gracias a la función getGroups de la clase Group

Tipos de campo: Botones en los formularios de Prestashop (HelperForm)

Seguimos dentro de la pestaña Diseño -> Páginas.

Botones “Guardar y previsualizar” y “Guardar

Botones

Controlador/controllers/admin/AdminCmsController.php

Al cerrar el: ‘input’ => array( … )’ (array de campos) pero dentro de  $this->fields_form = array() vemos los botones disponibles que mostramos en la captura anterior

Botón guardar:

botón “guardar y previsualizar

array botones
array botones

Dentro del array de botones encontramos el botón “Guardar y previsualizar” (buttons => array { botón de guardar y previsualizar (save_and_preview)
name -> nombre interno del botón
type -> submit
title -> título del botón

Título botón

icon -> icono del botón

Icono del botón

class -> clase del botón.

Necesita investigar más…

  • Pásate por el directorio: /classes/helper/ y revisa las clases.
  • Investiga como usan los controladores del panel de administración:  /controller/admin/ el tema de los formularios y campos. Fíjate que aquí hemos hablado de 2 controladores…
  • Pásate por las clases de los módulos /modules/nombre_modulo/nombre_clase.php e investigan como usan los módulos los formularios (dentro de la función renderForm) además veras que necesitan crear una instancia de la clase HelperForm para la generación del formulario, como estuvimos comentando en su momento por el blog hace unos 2 años. Usar buscador del blog 🙂
Print Friendly, PDF & Email

Evitar el envío de un email en Prestashop

No estamos hablando de desactivar el envío de un determinado email en base a los estados de pedidos (Pedidos -> Estados)

Realmente es útil para aquellos emails que no podemos deshabilitar en el panel, pero que queremos deshabilitar. (Tampoco hablamos de desactivar el envío de emails en general)

Por ejemplo vamos a desactivar este email, que recibe el cliente nada más el realizar el pedido: (Este email usa la plantilla “order_conf“)

Email del pedido en Prestashop
Email del pedido en Prestashop

Lo que vamos hacer es un “override” de la clase Mail.php y vamos a indicar que si nos llega la plantilla “order_conf” el email no se envía. (Como los envíos de los emails usan la función Send de la clase Mail pues hacemos la comprobación directamente en la clase)

Creamos el fichero con el nombre “Mail.php” que vamos a guardar en el directorio “/overrides/classes/

<?php
class Mail extends MailCore
{
public static function Send($id_lang, $template, $subject, $template_vars, $to,
$to_name = null, $from = null, $from_name = null, $file_attachment = null, $mode_smtp = null,
$template_path = _PS_MAIL_DIR_, $die = false, $id_shop = null, $bcc = null, $reply_to = null)
{
// No envía el email de la plantilla que nosotros vayamos a igualar en el "if"
if ($template == 'order_conf') {
return true;
}

return parent::Send($id_lang, $template, $subject, $template_vars, $to, $to_name, $from, $from_name, $file_attachment, $mode_smtp, $template_path, $die, $id_shop, $bcc, $reply_to);
}
}

Si observáis el código, aquí:


if ($template == 'order_conf')

estamos haciendo la comprobación de la plantilla.

Esto tiene un problema, que, si la misma plantilla la usan otras partes de la tienda, pues tampoco se enviara ese “email” 🙂

Por cierto, en su momento hicimos una guía específica para evitar que el cliente reciba el email de confirmación en Prestashop. (Es una forma diferente, pero más “especifica”, en este ejemplo hablamos de “forma general” para cualquier email que use la plantilla que se usa el email que recibe el cliente al realizar un pedido con el resumen del pedido (hemos puesto un ejemplo, pero podría haber sido con otra plantilla)

Información obtenida en:

https://www.prestashop.com/forums/topic/315165-disable-mail-for-credit-slip/

Documento realizado bajo Prestashop 1.6.1.12

Print Friendly, PDF & Email

Prestashop 1.6.1.13 disponible para descargar

Si recordamos, hace un mes aproximadamente, Prestashop, anuncio la versión 1.6.1.12 de Prestashop, hoy día 25 de Abril Prestashop ha sacado la versión 1.6.1.13, donde se han corregido más de 16 errores con respecto a sus antecesoras.

Algunos de los errores corregidos:

  • Panel de administración (BackOffice):
    • Error corregido en la importación de los temas cuando el directorio cache se vacía
    • Permitir transferencia de Stock entre almacenes bajo la multitienda
    •  Se repara la búsqueda en la gestión avanzada de stock.
    • Generación de facturas en el idioma del usuario
    • etc..
  • Front-Office
    • Precio en las combinaciones cuando existe un descuento por cantidad de la misma.
    • Reparación de los estilos del bloque de categorías del pie de página
    • etc..
  • Núcleo (Core)
    • Optimización de las reglas del carrito
    • etc..

Prestashop 1.6.1.13: Descargar

Log/Registro de cambios: Ver

 

Print Friendly, PDF & Email

¿Todo configurado y no funcionan los emails en Prestashop?

Hoy toca hablar de otro clásico, lo primero es que no me estoy refiriendo al típico módulo de alertas por correo, que entre otra cosas si recordamos no servía para habilitar las notificaciones al administrador de la tienda de los nuevos pedidos.

Tampoco estamos hablando de la opción Parámetros Avanzados -> Correo Electrónico donde si recordamos nos permitía configurar entre otras opciones si para el envío de los emails, trabajamos con la función “mail()” o con una configuración especifica mediante SMTP.

Si estas teniendo problemas con “algún” email en específico en la tienda, te recomiendo revisar la pestaña Parámetros Avanzados -> Registro/Logs, posiblemente te lleves una sorpresa y te diga que no encuentra determinadas plantillas de emails.

Print Friendly, PDF & Email

¿Has subido un módulo y no aparece en el listado en Prestashop?

Pánico al subir un módulo en Prestashop
Pánico al subir un módulo en Prestashop

Toca hablar de un clásico, vas a la pestaña módulos -> módulos, subes un módulo, te dice que el módulo se ha subido correctamente, pero te pones a buscar en la pestaña módulos y no aparece, entonces te entra el pánico.

Una de las posibles causas es que el directorio del “módulo” no coincida con el nombre real.

Una forma de comprobarlo es descomprimir el propio módulo en tu ordenador:

Descomprimir Módulo

Una vez lo hayas descomprimido, accede a la carpeta:

Carpeta del módulo descomprimida

Accedemos a ver su contenido:

Contenido del módulo en Prestashop

Vemos que no aparece ningún fichero llamadoslidermolon.php“, lo que si vemos es el fichero “slider.php” que viene a ser en nuestro caso el nombre de la clase principal del módulo.

Clase del Módulo

Por lo tanto el nombre del directorio del módulo no se puede llamar “slidermolon“, se debe llamar “slider“.

Renombramos el directorio del módulo (atención, el directorio que tiene los ficheros del módulo en cuestión)

Cambiando nombre al directorio del módulo

Una vez renombrado, lo comprimimos 🙂

Comprimir directorio del módulo para poder subirlo en Prestashop

Ahora, nuestro fichero se llama “slider.zip”

Módulo preparado para subirlo a tienda

Evidentemente, si ya habías subido el módulo, entrar al directorio modules y ver por ejemplo estos tres casos. 

  • 1 – Que no tengas los ficheros del módulo en el directorio raíz de modules
  • 2 – Si existe una carpeta del módulo en el directorio modules que tenga el mismo nombre que la clase principal del módulo. (Como hemos visto en este ejemplo)
  • 3 – Si el nombre de la carpeta es correcto, revisar que dentro de la carpeta estén los ficheros y directorios del módulo y no la carpeta del módulo y después otra carpeta con el mismo nombre, y dentro de esa carpeta los directorios y fichero del módulo
Print Friendly, PDF & Email

Documentación – Crear módulo básico en Prestashop 1.7

He elaborado un documento, que nos permitirá conocer aspectos básicos a la hora de crear un módulo para Prestashop 1.7.

Evidentemente, si no tienes conocimientos de programación orientada a Objetos, difícilmente vas a poder lograrlo, pero tampoco tengas miedo, que nadie nace aprendiendo.

El documento está a “medio hacer” pero os puede servir, contiene los aspectos más básicos, crear formulario en el panel de administración, gestionar datos que configuremos en el panel, e imprimir esos datos luego en la tienda 🙂

Para ver el documento que nos puede servir de ayuda a la hora de crear módulos en Prestashop 1.7, pinchar en la siguiente imagen:

¿Preparado para meterte en el mundo del desarrollo en Prestashop?

¿Cómo crear un módulo en Prestashop 1.7?
Print Friendly, PDF & Email

No me aplica el impuesto en el panel en Prestashop

¿Qué está pasando con los impuestos en Prestashop?

Problema muy comentado en el pasado en la Comunidad que fue respondido muchas veces, no recuerdo ahora mismo de que versiones de Prestashop exactas hablábamos en aquella época, pero por ejemplo vamos hacer el miniTip bajo Prestashop 1.6

Estoy en la ficha del producto, en Catalogo -> Productos, editando el producto y cuando le digo que me aplique un tipo de impuesto, me añade el mismo precio con el Impuesto que sin el impuesto aplicado.

Mismo precio con/sin impuestos en Prestashop

Observamos en la imagen que aparece el mismo precio tanto en el precio con y sin impuestos, y que curiosamente es la única regla de impuestos que falla, si selecciono el resto de funciona perfectamente.

Nos vamos a la pestaña Localización -> Impuestos (En Prestashop 1.7 la pestaña Internacional – Impuestos), vemos que el impuesto está bien creado, nos vamos a la pestaña Localización -> Reglas de Impuestos (En Prestashop 1.7 Internacional -> Impuestos (Reglas de Impuestos) y vemos que la regla de impuestos en cuestión está correctamente creada, y tiene asociado el impuesto y que además está configurada correctamente en los países.

¿Qué hacemos? ¿Entramos en pánico? ¿Es el fin del mundo Prestashopero?

¿Cómo podemos arreglar este problema de los impuestos en Prestashop?
¿Cómo podemos arreglar este problema de los impuestos en Prestashop?

Vamos a realizar una miniChapuza express, vamos a la pestaña Localización -> Impuestos, creamos un nuevo impuesto

Creando impuesto en Prestashop

Ahora nos dirigimos a la pestaña Localización -> Reglas de Impuestos y creamos una regla nueva a la que le vamos aplicar el impuesto que hemos creado anteriormente.

Bloque 1 – Creación de la regla de impuestos
Bloque 2 de la creación de la regla de impuestos en Prestashop

Ahora, solo nos queda aplicar a los productos la nueva regla de impuestos que hemos creado.

¿Cómo podemos aplicar la nueva regla de impuestos que hemos creado a los productos en Prestashop? Continúa leyendo No me aplica el impuesto en el panel en Prestashop

Print Friendly, PDF & Email