Crear página personalizada con Prestashop 1.5

Crear página personalizada con Prestashop 1.5

0vote
1 2 3 4 5
Thank you for vote this article

Como crear una página totalmente personalizada en prestashop, es una de las preguntas más frecuentes que veo por Google. Bien, vamos a crear una guía donde podemos ver que es realmente sencillo y eficaz, eso sí, sólo válido para prestashop 1.5.

 

 

1- Creación de fichero Php.

Primero vamos a crear un fichero Php, lo vamos a nombrar blog.php (así aprovecho porque tengo que crearlo para esta web mundoprestashop.es). No obstante tu mismo le puedes poner el nombre que quieras. Dentro de él ponemos:
<?
require(dirname(__FILE__).'/config/config.inc.php');
Tools::displayFileAsDeprecated();
Tools::redirect('index.php?controller=blog'.($_REQUEST ? '&'.http_build_query($_REQUEST, '', '&') : ''), __PS_BASE_URI__, null, 'HTTP/1.1 301 Moved Permanently');

Bueno, podemos observar que lo único que puede variar es donde pone: controller=blog, ese nombre tiene que ser el mismo que el archivo php.

 

2- Crearción del Controller

Ahora creamos otro fichero php, en este caso tiene que llamarse: BlogController.php, situado en /controllers/front/, y dentro de él ponemos:

class BlogControllerCore extends FrontController
{
public $php_self = 'blog';

public function initContent()
{
parent::initContent();
$this->assignAll();
$this->setTemplate(_PS_THEME_DIR_.'blog.tpl');
}


Podemos observar la declaración de la clase, en este caso BlogControllerCore, y en publico $php_self, también ponemos blog. Y poco más, más abajo tenemos la función donde se inicia y le pasa para que le pase toda la información al tpl, como vemos que esta situado en el template actual y blog.tpl. Este caso es de ejemplo y ahi pondremos lo que en ese momento se esté trabajando. 
También recordar que aquí yo voy a trabajar y ejecutar consultas, ya que en los tpl no se puede hacer eso, entonces en mi casa por lo menos voy a programar que me saque una serie de valores en un array y me los pase al tpl para posteriormente sacarlos. Ejemplo:

protected function assignAll()
{

global $cookie;
.....
codigo php y consultar a la base de datos
.....

$this->context->smarty->assign('items', $items);
}

Veque tengo un array $items que le he metido una serie de valores.

 

3- Creación del Tpl

Bueno, llegamos a la parte final, tenemos todo funcionando y ahora nos queda que se "vea", pues vamos a crear un archivo, llamado blog.tpl, y lo guardamos en en template que queremos y dentro pondremos:
 {capture name=path}{l s='blog'}{/capture}
{include file="$tpl_dir./breadcrumb.tpl"}
{include file="$tpl_dir./errors.tpl"}
.... código que queramos ....


 Ya tenemos listo nuestro página a pleno funcionamiento, ahora, accediendo a www.mundoprestashop.es/blog.php podemos ver que todo funciona correctamente y a pleno rendimiento.


4- Urls amigables

El paso final y el opcional es crear una buena url amigable, con sus metas correspondientes, vivimos en un mundo donde cada detalle cuenta para el SEO onpage, por lo que recomiendo este paso.

Dentro del backoffice del sitio web vamos a Preferencias -> Seo y urls. Una vez dentro le damos a añadir nuevo. Ahora en el desplegable podemos ver que tenemos una nueva opción que pone blog, lo seleccionamos, ponemos las metas que más se adapten al nuevo apartado del sitio y guardamos. Ahora sí, tenemos una url perfecta: www.mundoprestahsop.es/blog

Comments

There is no comment

Leave a comment

Enter your name
Fill up your name
Fill up your email, we'll never public your email.
Fill up your website
Enter your comment
Enter captcha code above

¡Lo más vendido!