Minimal Theme, plantilla gratuita PrestaShop 1.7

minimal-themeEn este post del foro oficial de PrestaShop, el gestor de contenidos gratuito y opensource para crear tiendas online (ecommerce), encontramos un enlace a una plantilla gratuita para la versión 1.7 de PrestaShop. Se trata de Minimal. “Plantilla creada sólo con CSS, y ahora es un CHILD THEME de la plantilla nativa de Prestashop 1.7 llamada ‘classic. Poca modificación al theme nativo, muy simple y sencilla“.
https://www.prestashop.com/forums/topic/334191-plantilla-gratis-para-prestashop-17-minimal/

 

Errores 404 en PrestaShop ¿Cómo gestionarlos? 

Si has construido tu Tienda de la forma correcta, siguiendo todos los pasos necesarios desde cero y no te has saltado ningún punto, entonces no deberías preocuparte por tener errores 404 en PrestaShop. Sin embargo no siempre es así, cualquier instalación de PrestaShop está sometida a constantes cambios, actualizaciones, mejoras o revisiones que acaban desencadenando errores que inicialmente no deberían producirse“.
https://www.webempresa.com/blog/errores-404-en-prestashop-como-gestionarlos.html

Redirigir páginas de idiomas en Prestashop con .htaccess

Redirigir páginas de idiomas en Prestashop con .htaccess

 Un post recuperado de KnowHow

Para redirigir una URL de Prestashop de un idioma a otro podemos lograrlo de forma muy sencilla y rápida con el archivo .htaccess, el archivo de configuración del servidor Apache


Aunque hay formas más complicadas y completas de hacerlo, el código que os muestro funcionará correctamente; menos es más… Para ello, accedemos a nuestro hosting, bien vía FTP con algún programa cliente como Filezilla, o por la gestión de archivos de nuestro hosting y añadimos la siguiente línea de código:

#Redirigimos la página del idioma inglés (/en) de nuestra tienda online a la página española (/es)
Redirect 301 /en http://www.midominio.com/es

Si queremos hacerlo con más idiomas que tengamos instalados en nuestra tienda online con PrestaShop, añadiremos una línea de código similar por página de idioma:

Redirect 301 /en http://www.midominio.com/es

Redirect 301 /fr http://www.midominio.com/es

OJO! Recordemos siempres hacer una copia del archivo .htacces original. 
La página que queremos redirigir no debe escribirse con la dirección completa, es decir http://www.midominio.com/en se escribiría solo /en. A la dirección que queremos redirigirla si que tiene que escribirse con la URI completa: http://www.midominio.com/es

Y con eso, ya lo tenemos. Dejo un ejemplo de archivo .htaccess de PrestaShop con la redirección 301 del idioma inglés y francés a la página en castellano:

EJEMPLO REDIRECCIÓN IDIOMAS EN PRESTASHOP CON HTACCESS

# ~~start~~ Do not remove this comment, Prestashop will keep automatically the code outside this comment when .htaccess will be generated again
# .htaccess automaticaly generated by PrestaShop e-commerce open-source solution
# http://www.prestashop.com – http://www.prestashop.com/forums
# GBP REDIRIJO IDIOMAS A LA VERSIÓN ESPAÑOLA
Redirect 301 /en http://www.midominio.com/es
Redirect 301 /fr http://www.midominio.com/es



SetEnv HTTP_MOD_REWRITE On

RewriteEngine on

#Domain: midominio.com
RewriteRule . – [E=REWRITEBASE:/]
RewriteRule ^api$ api/ [L]
RewriteRule ^api/(.*)$ %{ENV:REWRITEBASE}webservice/dispatcher.php?url=$1 [QSA,L]
# Images
RewriteRule ^([0-9])(-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+.jpg$ %{ENV:REWRITEBASE}img/p/$1/$1$2$3.jpg [L]
RewriteRule ^([0-9])([0-9])(-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$1$2$3$4.jpg [L]
RewriteRule ^([0-9])([0-9])([0-9])(-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$1$2$3$4$5.jpg [L]
RewriteRule ^([0-9])([0-9])([0-9])([0-9])(-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$4/$1$2$3$4$5$6.jpg [L]
RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])(-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$4/$5/$1$2$3$4$5$6$7.jpg [L]
RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$4/$5/$6/$1$2$3$4$5$6$7$8.jpg [L]
RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$4/$5/$6/$7/$1$2$3$4$5$6$7$8$9.jpg [L]
RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$4/$5/$6/$7/$8/$1$2$3$4$5$6$7$8$9$10.jpg [L]
RewriteRule ^c/([0-9]+)(-[.*_a-zA-Z0-9-]*)(-[0-9]+)?/.+.jpg$ %{ENV:REWRITEBASE}img/c/$1$2$3.jpg [L]
RewriteRule ^c/([a-zA-Z_-]+)(-[0-9]+)?/.+.jpg$ %{ENV:REWRITEBASE}img/c/$1$2.jpg [L]
# AlphaImageLoader for IE and fancybox
RewriteRule ^images_ie/?([^/]+).(jpe?g|png|gif)$ js/jquery/plugins/fancybox/images/$1.$2 [L]
# Dispatcher
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ – [NC,L]
RewriteRule ^.*$ %{ENV:REWRITEBASE}index.php [NC,L]

AddType application/vnd.ms-fontobject .eot
AddType font/ttf .ttf
AddType font/otf .otf
AddType application/x-font-woff .woff


Header add Access-Control-Allow-Origin “*”

#If rewrite mod isn’t enabled
ErrorDocument 404 /index.php?controller=404
# ~~end~~ Do not remove this comment, Prestashop will keep automatically the code outside this comment when .htaccess will be generated again
AddHandler x-mapp-php5.5  .php

Redirigir páginas de Error 404 en PrestaShop a la Home

Artículo del blog de Hector Nevado (www.hnevado.es/blog) para redirigir las páginas de Error 404 en PrestaShop a la página de inicio o Home. Funciona perfectamente. Mil gracias desde aquí!

https://www.hnevado.es/blog/redireccionar-errores-404-a-la-home-en-prestashop/ 

<?php
/*
* 2007-2015 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/osl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
* @author PrestaShop SA 
* @copyright 2007-2015 PrestaShop SA
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*/


class PageNotFoundControllerCore extends FrontController
{
public $php_self = 'pagenotfound';
public $page_name = 'pagenotfound';
public $ssl = true;

/**
* Assign template vars related to page content
* @see FrontController::initContent()
*/
public function initContent()
/** AÑADO TEMA REDIRECCION ERRORES
*/
{
Tools::redirect();
header('HTTP/1.1 404 Not Found');
header('Status: 404 Not Found');

if (preg_match('/.(gif|jpe?g|png|ico)$/i', parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH))) {
$this->context->cookie->disallowWriting();
if (!isset($_SERVER['REDIRECT_URL'])) {
$_SERVER['REDIRECT_URL'] = '';
if (preg_match('@^'.__PS_BASE_URI__.'([0-9]+)-([_a-zA-Z0-9-]+)(/[_a-zA-Z0-9-]+)?.jpg$@', $_SERVER['REQUEST_URI'], $matches)) {
$_SERVER['REDIRECT_URL'] = __PS_BASE_URI__.'p/'.Image::getImgFolderStatic($matches[0]).'/'.$matches[0].'-'.$matches[1].'.jpg';
}

}
if (preg_match('#/p[0-9/]*/([0-9]+)-([_a-zA-Z]*).(png|jpe?g|gif)$#', $_SERVER['REDIRECT_URL'], $matches)) {
// Backward compatibility since we suffixed the template image with _default
if (Tools::strtolower(substr($matches[2], -8)) != '_default') {
header('Location: '.$this->context->link->getImageLink('', $matches[1], $matches[2]), true, 302);
exit;
} else {
$image_type = ImageType::getByNameNType($matches[2], 'products');
if ($image_type && count($image_type)) {
$root = _PS_PROD_IMG_DIR_;
$folder = Image::getImgFolderStatic($matches[1]);
$file = $matches[1];
$ext = '.'.$matches[3];

if (file_exists($root.$folder.$file.$ext)) {
if (ImageManager::resize($root.$folder.$file.$ext, $root.$folder.$file.'-'.$matches[2].$ext, (int)$image_type['width'], (int)$image_type['height'])) {
header('HTTP/1.1 200 Found');
header('Status: 200 Found');
header('Content-Type: image/jpg');
readfile($root.$folder.$file.'-'.$matches[2].$ext);
exit;
}
}
}
}
} elseif (preg_match('#/c/([0-9]+)-([_a-zA-Z]*).(png|jpe?g|gif)$#', $_SERVER['REDIRECT_URL'], $matches)) {
$image_type = ImageType::getByNameNType($matches[2], 'categories');
if ($image_type && count($image_type)) {
$root = _PS_CAT_IMG_DIR_;
$file = $matches[1];
$ext = '.'.$matches[3];

if (file_exists($root.$file.$ext)) {
if (ImageManager::resize($root.$file.$ext, $root.$file.'-'.$matches[2].$ext, (int)$image_type['width'],
(int)$image_type['height'])) {
header('HTTP/1.1 200 Found');
header('Status: 200 Found');
header('Content-Type: image/jpg');
readfile($root.$file.'-'.$matches[2].$ext);
exit;
}
}
}
}

header('Content-Type: image/gif');
readfile(_PS_IMG_DIR_.'404.gif');
exit;
} elseif (in_array(Tools::strtolower(substr($_SERVER['REQUEST_URI'], -3)), array('.js', 'css'))) {
$this->context->cookie->disallowWriting();
exit;
}

parent::initContent();

$this->setTemplate(_PS_THEME_DIR_.'404.tpl');

}

protected function canonicalRedirection($canonical_url = '')
{
// 404 - no need to redirect to the canonical url
}

protected function sslRedirection()
{
// 404 - no need to redirect
}
}

Problema con Google Chrome y PrestaShop

Problema con Google Chrome y PrestaShop

Post recuperado de KnowHow…

Valencia, 28/01/2017, G.B.
Hace un par de semanas empecé a tener problemas a la hora de actualizar productos en una tienda online bajo la famosa plataforma de e-commerce PrestaShop. Le dí vueltas y más vueltas, pero no había forma de que se actualizaran los cambios en los productos. Lo peor es que luego me dí cuenta de que tampoco podía crear productos nuevos. 

¿El problema? Un bug (error de programación) en  las últimas versiones del navegador Google Chrome. Lo averigüé gracias al foro de PrestaShop (adjunto enlace al final). Simplemente utilizando Mozilla Firefox pude modificar, duplicar y crear nuevos productos en la tienda online. Así de simple. 
Gracias desde aquí a los usuarios del foro de PrestaShop.
Podéis leerlo en este hilo del foro de PrestaShop:

Cuidado con los cambios de URLs amigables en PrestaShop

Post recuperado de KnowHow…

Cuidado con los cambios de URLs amigables en PrestaShop
Valencia, 04/11/2016, G.B.
El otro día unos amigos me pidieron ayuda para solventar un problema con una tienda online realizada en la plataforma de e-commerce PrestaShop. En concreto, el fallo era que no les funcionaba el carrito de compras. El error que daba era demasiadas redirecciones cuando se accedía al carrito de compras. La tienda online estaba ‘trasladada’ de una versión en castellano a otra idioma.
¿La solución? Simplemente corregir las URLs amigables en la sección SEO y URLs de PrestaShop (si no recuerdo mal). La persona que había traducido las URLs había repetido la URL amigable (SEO Friendly) del carrito (cart.php) y la compra (order.php).

Con la eliminación de la repetición de la URL amigable a los buscadores y la restauración del nombre original del la página de pedido (order.php) se solucionó el problema. Así de fácil. Hasta pronto!

FAQs y no tan FAQs de PrestaShop…

PrestaShopValencia, 12/05/2014, G.B.
Algunas FAQs y ‘menos’ FAQS sobre PrestaShop, versión 1.6:

1) Enlaces útiles PrestaShop (oficiales):

– Descubre la documentación oficial
Ir a doc.prestashop.com
– Usa el foro y descubre una gran comunidad
Ir a forums.prestashop.com
– Mejora tu tienda con nuevas plantillas & módulos
Ir a addons.prestashop.com
– Reporta problemas al Bug Tracker
Ir a forge.prestashop.com
– Contacta con nosotros
Ir a prestashop.com

2) Cambiar el texto (label) del módulo bloque social (blocksocial), situado en el pie de página de la plantilla o themes de PrestaShop:

  • Con un cliente FTP, como FileZilla, navegar hasta al directorio:
    /DIRECTORIOPRESTASHOP/themes/default-bootstrap/modules/blocksocial (donde default.bootstrap es el tema por defecto de PrestaShop).
  • Editar archivo blocksocial.tpl
  • Buscar cadena de texto Siganos
  • Cambiarla por la que quieras, como por ejemplo por Redes Sociales.  NOTA: NO pongas acentos, que no traga! Tal vez si lo escribimos con caracteres de codificación HTML serviría, pero no lo he probado todavía.
  • Guardar y subir el archivo modificado al mismo directorio

3) URL de búsqueda de PrestaShop:
http://TUSITIO.com/es/buscar?controller=search&orderby=position&orderway=desc&search_query=

Una prueba que he hecho, aquí: https://db.tt/1FMiyu4X

4) Instalar código de seguimiento de Statcounter en PrestaShop:

  • Dar de alta tu proyecto (tu web) en statcounter.com
  • Copiar código seguimiento
  • Editar archivo footer.tpl del theme o plantilla activa de tu PrestaShop vía FTP, con FileZilla, por ejemplo.
  • Insertar el código de seguimiento
  • Este sería el de Shop Indaga:

<!– Start of StatCounter Code for Default Guide –>
<script type=”text/javascript”>
var sc_project=9804174;
var sc_invisible=1;
var sc_security=”bfc98652″;
var scJsHost = ((“https:” == document.location.protocol) ?
“https://secure.” : “http://www.”);
document.write(“<sc”+”ript type=’text/javascript’ src='” +
scJsHost+
“statcounter.com/counter/counter.js’></”+”script>”);
</script>
<noscript><div class=”statcounter”><a title=”web analytics”
href=”http://statcounter.com/” target=”_blank”><img
class=”statcounter”
src=”http://c.statcounter.com/9804174/0/bfc98652/1/”
alt=”web analytics”></a></div></noscript>
<!– End of StatCounter Code for Default Guide –>

NOTA: No es necesario poner el código de seguimiento entre las etiquetas {literal} {/literal} si lo haces después de la etiqueta HTML </body>

5) Cambiar hoja de estilos (css) de las categorías y el menú superior, eliminar uppercase (textos en mayúsculas):

  • Busca la carpeta css de tu tema. Para quitar las mayúsculas de las categorías, busca el archivo category.css y en text-transform pon none
  • Para eliminar las mayúsculas del menú superior, busca este archivo: /directoriodetutienda/themes/default-bootstrap/css/modules/blocktopmenu/css/superfish-modified.css y haz lo mismo (text-transform: /* uppercase */ none;). Yo lo he comentado por si quiero volver a ponerlo,

6) Habilitar multitienda en PrestaShop y cómo utilizarla: