La característica multitienda de Prestashop posibilita tener distintas tiendas con sus pasarelas de pago, gestionadas desde un mismo panel de control.
En su última versión, ha mejorado considerablemente en lo que se refiere al posicionamiento o SEO orgánico, pudiendo crear fácilmente urls amigables .

Según que producto vendas, podrás elegir de entre los más de 2000 themes en su sitio oficial .
Como siempre, prefiero diseñar la plantilla que viene por defecto y tener un control total sobre la optimización de la tienda para el SEO .
Los más de 4000 módulos en su sitio oficial se ajustarán a todos los requisitos de tu tienda.
Aunque la mayoría son de pago, merece la pena la inversión ya que, cumplen muy bien la labor para la que fueron creados.
Módulo personalizado para Prestashop
Aquí te presento un módulo personalizado acms para Prestashop que puedes usar para, por ejemplo, mostrar un banner de ofertas diferente para cada categoría de productos.
En primer lugar crearemos la posición donde mostraremos el módulo. En la base de datos, en la tabla ps_hook insertamos la nueva posición con el nombre displayCustom
Funcionamiento
El archivo de entrada acms.php
....................... include(dirname(__FILE__).'/classes/cmsmodel.php'); class Acms extends Module { .......................... public function install() { Configuration::updateValue('ACMS_LIVE_MODE', false); include(dirname(__FILE__).'/sql/install.php'); return parent::install() && $this->registerHook('header') && $this->registerHook('backOfficeHeader') && $this->registerHook('displayCustom'); //POSICION } .............................. public function hookDisplayCustom() { $model = new Cmsmodel();//instanciamos el modelo $obj = $model->fmodel(); // llamamos a fmodel() $page = $obj->q.'.tpl'; // elegimos la vista //asigno el objeto a la variable var $this->context->smarty->assign('var' ,$obj); //en la vista podemos mostrar {$var->name} 'mostrará jose' return $this->display(__FILE__, $page); //mostramos la vista }
El modelo classes/cmsmodel.php
class Cmsmodel { public function fmodel(){ $obj = new stdClass(); $obj->name = 'Jose'; $obj->arr = array('p1'=>'valor p1','p2'=>'valor p2'); $obj->other = $this->other(); $obj->ajax = Tools::getValue('pageAjax'); $obj->categories = $this->categories(); if(isset($_GET['id_category'])) {$id_category = $_GET['id_category'];} ELSE {$id_category = 0;}; if($id_category > 0){ $obj->q = $this->elquery($id_category);} ELSE {$obj->q = 'vacio';} return $obj; } // Obtenemos el permalink de la categoría // y crearemos una vista con el mismo nombre public function elquery($id_category){ $db = \Db::getInstance(); $request = "SELECT link_rewrite FROM ps_category_lang WHERE id_category= '$id_category'"; return $db->getValue($request); }
Puedes bajarte el módulo desde aquí ACMS.ZIP