Blog

Prestashop

Prestashop (38)

Estoy instalando actualmente una tienda Prestashop. En el proceso me encuentro que donde vivirá dicha tienda aún no tenía instalado el modulo de ZIP para PHP ya que es un servidor virtual totalmente nuevo.

Para resolverlo, hay que acceder al servidor por ssh y teclear el siguiente comando:

# apt-get install php-zip php-simplexml

Jueves, 07 Febrero 2019 15:36

Error 500 al entrar al backoffice prestashop 1.7

Written by

Error 500 al entrar al backoffice prestashop 1.7

Después de una instalación limpia de prestashop 1.7, al acceder al panel de administración, da error 500. A qué es debido?

----------------------------

El error 500 puede deberse a muchos factores. Es simplemente una respueta del servidor diciendo que algo no va bien. Para examinar la causa del error, lo primero que hay que hacer es activar el modo DEBUG, que normalmente se puede activar desde el propio panel de administración. Pero como no nos funciona, lo haremos desde el fichero

config/define.inc.php

Cambiando el modo DEBUG de false a true.

Luego probamos otra vez acceder al panel de administración. 

Si sigue fallando, lo suyo sería que habilitemos también el aviso de error. 

En ocasiones, puede ser debido a la opción Multiviews.  Revisa que en Preferencias > Tráfico > SEO y URLs la opción "Desactivar la opción Apache's MultiViews" esté en "No". Si aún así no está activado se lo puedes pedir al proveedor de alojamiento que lo active.

Si el proveedor no responde al respecto, el usuario también puede desactivarlo manualmente. Para ello, hay que

Tiene que editar el fichero .htaccess de la raíz de su instalación de Prestashop y verá una línea así:

Options -Multiviews

añádele un # al principio para comentarla:

# Options -Multiviews

 

Si alguna vez se te ha olvidado la clave de acceso al panel de administración de prestashop, y encima resulta que olvidaste configurar el envío de correos, puedes seguir los siguientes pasos para resetear la clave:

1.- Entrar en el servidor de hosting y abrir la base de datos de la tienda prestashop. Le dais al botón de phpMyAdmin y os sale a la izquierda la vista de todas las tablas. Pincháis en el icono de la izquierda en la que pone ps_employee  Aquí seleccionáis el usuario para el que quereis restablecer la clave (si solo teneis el administrador pues solo habrá una linea que debeis seleccionar y Editar— es un pequeño icono con un lapiz junto a la casilla de selección).

2.- Acceder por FTP (ej. vía Filezilla) a tu servidor, entrar en la carpeta donde tienes instalada la Tienda y ahí en la carpeta config  Dentro de ella teneis que editar el archivo settings.inc.php  y copiar lo que hay entre comillas sencillas de la linea COOKIE_KEY Será una cosa del tipo: nfhvCS13DXhoqrEmYnUHe89JTL36LxJTT2kBEEogktzBqq8GoLGus9he

3.- En el campo de password del usuario que editasteis en el paso 1 pegar la cadena alfanumérica del paso 2 poniendo al final de la cadena(sin dejar espacios ni nada) la clave de acceso que queráis usar para entrar en la administración de la Tienda. Junto a este campo hay un desplegable, que tenéis que abrir y seleccionar MD5.

Le dais al botón de continuar y ya está. Ya podéis entrar como administradores con el e-mail del usuario y la clave que hayamos puesto (la añadida a la cadena alfanumérica).

 

Jueves, 30 Agosto 2018 22:34

Módulo Prestashop para eliminar ID de las URLs

Written by

Aquí os pongo un módulo de Prestashop para eliminar el ID de las URL's. Es bastante útil, funcional y fácil de usar

Faktiva Clean URL

https://www.cneris.com/es/mas-recursos/descargas-utilidades/Prestashop/Modules/Faktiva-Clean-URL/lang,es-es/

En ocasiones, cuando uno intenta instalar Prestashop, le puede aparecer el siguiente error: 

SQL error on query All parts of a PRIMARY KEY must be NOT NULL, if you need NULL in a key, use UNIQUE instead​

Para arreglar este error, hay que seguir los siguientes pasos:

1. Abrir el fichero: Prestashop-package/install/data/db_structure.sql

2. Buscar el texto: CREATE TABLE `PREFIX_cart_product`

3. Cambiar PRIMARY KEY por UNIQUE

Imagínate que tenemos más de 5 niveles de subcategorías creados en CATEGORÍAS en prestashop. Cuando las configuramos en el menú top principal, y pinchamos el menú en concreto, se van a ver todas las subcategorías 

En ocasiones, nos interesa el nivel de visualización de las categorías. Para ello, hay que seguir los siguientes pasos

1) root/modules/blocktopmenu/blocktopmenu.php

Para deshabilitar la carga automática de Addons en la pantalla de Addons dentro de Preferencias - Temas

Hay que editar

controllers/admin/AdminThemesController.php

Buscar la función public function ajaxProcessGetAddonsThemes()

E insertar die(); al principio de la función. 

public function ajaxProcessGetAddonsThemes()

    {

       die();

       $parent_domain = Tools::getHttpHost(true).substr($_SERVER['REQUEST_URI'], 0, -1 * strlen(basename($_SERVER['REQUEST_URI'])));

        $iso_lang = $this->context->language->iso_code;

        $iso_currency = $this->context->currency->iso_code;

        $iso_country = $this->context->country->iso_code;

 

 

El siguiente procedimiento es para agilizar la carga del panel de administración de Prestashop, anulando la descarga de módulos innecesarios, o addons de la web de prestashop. 

1) Dentro del panel de administración de Prestashop, en el listado de módulos, podemos ver los módulos que están instalados en la tienda online, y una serie de módulos "ofrecidos" o descargados de la web de prestashop. 

Para anular estos módulos, que se reflejan en los ficheros /config/xml/

default_country_modules_list.xml

must_have_modules_list.xml

En principio, con borrar estos dos ficheros ya sería suficiente, pero el problema es que, al borrarlos, la tienda vuelve a descargarlos de la web de prestashop. Para deshabilitar la descarga automática de estos ficheros, hay que editar:

classes/Tools.php

Localizar la función addonsRequest() aproximadamente en la línea 3349. 

    public static function addonsRequest($request, $params = array())

    {
        if (!self::$is_addons_up) {
        return false;
    }

E insertar return false;

    public static function addonsRequest($request, $params = array())

    {

return false;

if (!self::$is_addons_up) {

            return false;

        }

 

Página 1 de 3