En el pasado tutorial aprendimos como se crean páginas nuevas en una tienda Prestashop. Siguiendo los pasos que se indican en dicho tutorial conseguíamos tener una página nueva pero que no es accesible a través de una ‘URL amigable‘.
En este tutorial lo que se va a configurar es dicha ‘URL amigable‘ en Prestashop 1.5. Las ‘URLs amigables’ se configuraran en la pestaña ‘Preferencias -> SEO y URLs‘ dentro de la herramienta de administración de la tienda. Desde ahí se gestionan todas las ‘URLs amigables’ que tiene la tienda. Para agregar una nueva habría que hacer click sobre el botón ‘Añadir nuevo‘.
En la nueva ventana debería aparecer la opción de la nueva página que hemos creado en la lista desplegable. Si seguimos el pasado tutorial en esta lista debería aparecer una opción llamada ‘mipagina’. Pero al no haber configurado el controlador no va a aparecer. Por tanto, ahora hay que seguir estos pasos para que aparezca en esta lista nuestra página y podamos configurar la ‘URL amigable‘.
1.- Crear controlador para la nueva página Prestashop
Para crear el controlador hay que crear el fichero ‘PaginaController.php‘ dentro de la carpeta ‘~/controllers/front/‘.
Este controlador habrá que configurarlo para que cargue todas las hojas de estilo y ficheros necesarios para que funcione la nueva página. En este tutorial se muestra una configuración básica, en la que no se incluyen hojas de estilo ni nigún otro fichero adicional en la carga de la página. Por tanto el contenido del fichero ‘~/controllers/front/PaginaController.php‘ sería el siguiente, en él únicamente se configura el fichero que contiene la plantilla con al estructura y el contenido que contiene la nueva página, esta plantilla fue creada en el pasado tutorial.
PHP |copy code |?
01 <?php
02 class PaginaControllerCore extends FrontController{03 04 public $php_self = 'pagina';05 06 public function setMedia(){07 parent::setMedia();08 }
09 10 public function init(){11 parent::init();12 }
13 14 public function initContent(){15 parent::initContent();16 $this->setTemplate(_PS_THEME_DIR_.'pagina.tpl');17 }
18 }
2 – Cambiar La página creada en el pasado tutorial
En el fichero ‘pagina.php‘ que habíamos creado en el pasado tutorial, y que está en el raíz de nuestra tienda Prestashop, debemos cambiar el contenido que tenía por las siguientes líneas que harán la llamada al nuevo controlador que acabamos de crear:
PHP |copy code |?
1 <?php
2 require(dirname(__FILE__).'/config/config.inc.php');3 Tools::displayFileAsDeprecated();4 5 Tools::redirect('index.php?controller=pagina'.((count($_GET) || count($_POST)) ? '&'.http_build_query(array_merge($_GET, $_POST), '', '&') : ''), __PS_BASE_URI__, null, 'HTTP/1.1 301 Moved Permanently');
Ahora al hacer la llamada a la pagina se ejecutará la lógica definida en el controlador y se mostrará después el contenido que se haya definido.
Este tutorial está probado en una versión 1.5 de Prestashop. En versiones anteriores estas páginas creadas deben tener este otro formato:
PHP |copy code |?
1 <?php
2 require(dirname(__FILE__).'/config/config.inc.php');3 include(dirname(__FILE__).'/header.php');4 $smarty->display(_PS_THEME_DIR_.'pagina.tpl');5 include(dirname(__FILE__).'/footer.php');6
Para verificar qué formato debes utilizar según la versión de Prestashop utilizada, recomendamos mirar cómo están definidos otros ficheros de este estilo para otras páginas, y después crear el nuestro cogiendo uno de los dos formatos que hemos descrito anteriormente.
3.- Asignar URL amigable a la página creada
Ahora ya podemos volver a la pestaña ‘Preferencias -> SEO y URLs‘ dentro de la web de administración de nuestra tienda Prestashop. En la lista desplegable de las páginas ya aparecerá la opción ‘pagina‘.
NOTA: si no apareciese esta página en la lista, borrar el fichero ‘~/cache/class_index.php‘ que está dentro del raíz de la tienda y volver a entrar de nuevo en el menú de administración de ‘SEO URLs’ y ya aparecerá.
Una vez encontrada la página que queremos en el desplegable la seleccionamos y configuramos los valores con el título y las palabras clave que se van a aplicar a la página:
El último parámetro se llama ‘enlace reescrito‘, y será el que se debe añadir en la url para poder acceder a la página creada previamente.
Por ejemplo si rellenamos ese valor con ‘pagina‘, cuando los usuarios accedan a ‘http://dominio/mipagina’ van a ver el contenido de ‘http://dominio/pagina.php’, que es lo que se ha configurado con este tutorial.
Deja tu comentario