mukrus Posted June 11, 2012 Share Posted June 11, 2012 Buenas a todos, estoy buscando la forma de crear una página nueva, completamente vacía dentro del tema. Buscando en tutoriales he estado probando de crear un fichero nuevo .tpl dentro del tema y poniéndole el siguiente código {capture name=path}{l s='Main Title'}{/capture} {include file=$tpl_dir./breadcrumb.tpl} <h2>{l s='Titulo de Pagina'}</h2> luego crear otro fichero en la raíz .php con el mismo nombre del fichero .tpl e insertarle el siguiente código. <?php include(dirname(__FILE__).'/config/config.inc.php'); include(dirname(__FILE__).'/header.php'); $smarty->display(_PS_THEME_DIR_.'uypagina.tpl'); include(dirname(__FILE__).'/footer.php'); ?> Luego he generado un enlace en el footer que me dirige ha esta página. El problema es que al escribir algo en el fichero .tpl no me muestra nada por pantalla. Necesitaría saber en que fallo u otra forma de generar una página en blanco nueva. Gracias. Link to comment Share on other sites More sharing options...
nadie Posted June 11, 2012 Share Posted June 11, 2012 Buenas a todos, estoy buscando la forma de crear una página nueva, completamente vacía dentro del tema. Buscando en tutoriales he estado probando de crear un fichero nuevo .tpl dentro del tema y poniéndole el siguiente código {capture name=path}{l s='Main Title'}{/capture} {include file=$tpl_dir./breadcrumb.tpl} <h2>{l s='Titulo de Pagina'}</h2> luego crear otro fichero en la raíz .php con el mismo nombre del fichero .tpl e insertarle el siguiente código. <?php include(dirname(__FILE__).'/config/config.inc.php'); include(dirname(__FILE__).'/header.php'); $smarty->display(_PS_THEME_DIR_.'uypagina.tpl'); include(dirname(__FILE__).'/footer.php'); ?> Luego he generado un enlace en el footer que me dirige ha esta página. El problema es que al escribir algo en el fichero .tpl no me muestra nada por pantalla. Necesitaría saber en que fallo u otra forma de generar una página en blanco nueva. Gracias. Por que no has creado un controlador? Link to comment Share on other sites More sharing options...
mukrus Posted June 11, 2012 Author Share Posted June 11, 2012 (edited) Si, la he forzado. He encontrado una solución algo diferente de como lo estaba haciendo ahora, la cuelgo como solución. El fichero .tpl lo creo en la carpeta themas como antes hacia, pero en este caso no hace falta introducirle ningún contenido, luego me dirijo a la raíz de mi prestashop y creo un fichero .php, este a diferencia de antes le digo que me apunte a otro fichero .php que se encuentra en la carpeta controller. require(dirname(__FILE__).'/config/config.inc.php'); ControllerFactory::getController('ArchivoController')->run(); Me dirijo a la carpeta Controller y aquí genero el archivo ArchivoController.php y creo una función displayContent(), a esta le indico cual es mi fichero .tpl parent::displayContent(); self::$smarty->display(_PS_THEME_DIR_.'archivo.tpl'); Ahora si que me muestra el contenido que le introduzco en el fichero .tpl. Gracias por contestar, haber que te parece este método. Edited June 11, 2012 by mukrus (see edit history) Link to comment Share on other sites More sharing options...
nadie Posted June 11, 2012 Share Posted June 11, 2012 Si es que los correcto es crear un controlador. Link to comment Share on other sites More sharing options...
nadie Posted June 11, 2012 Share Posted June 11, 2012 Solo tienes que fijarte en los ejemplos que ya vienen con prestashop, es muy sencillo. Link to comment Share on other sites More sharing options...
mukrus Posted June 11, 2012 Author Share Posted June 11, 2012 Si me he dado cuenta, prestashop sigue una estructura MVC, lo que no entiendo es que en algunos ejemplos que he visto el modelo se comunica directamente con la vista sin pasar por el controlador Link to comment Share on other sites More sharing options...
nadie Posted June 11, 2012 Share Posted June 11, 2012 Si me he dado cuenta, prestashop sigue una estructura MVC, lo que no entiendo es que en algunos ejemplos que he visto el modelo se comunica directamente con la vista sin pasar por el controlador Es posible que fueran ejemplos de prestashop 1.3 donde no estaba la carpeta controllers. Link to comment Share on other sites More sharing options...
thiegui Posted July 19, 2012 Share Posted July 19, 2012 Hola, Estoy intentando crear una página de la forma en que comentáis. Tenía creada una como hizo mukrus al principio pero prefiero hacerlo de la forma correcta, con controlador, modelo y vista. Pero al crearla siguiendo todos los pasos que comentáis y repasando mucho, no me funciona, me da un error de servidor. Es necesario crear la clase ?? mi página es about.tpl el código de about.php: require(dirname(__FILE__).'/config/config.inc.php'); ControllerFactory::getController('AboutController')->run(); y el código del controlador AboutController: class AboutController extends FrontController { public $php_self = 'about.php'; public function displayContent() { parent::displayContent(); self::$smarty->display(_PS_THEME_DIR_.'about.tpl'); } } De momento lo haré de la primera forma, la mala, porque necesito terminarlo y son páginas muy estáticas pero necesitaré hacerlo de la otra forma. Gracias y saludos! Link to comment Share on other sites More sharing options...
nadie Posted July 19, 2012 Share Posted July 19, 2012 Hola, Estoy intentando crear una página de la forma en que comentáis. Tenía creada una como hizo mukrus al principio pero prefiero hacerlo de la forma correcta, con controlador, modelo y vista. Pero al crearla siguiendo todos los pasos que comentáis y repasando mucho, no me funciona, me da un error de servidor. Es necesario crear la clase ?? mi página es about.tpl el código de about.php: require(dirname(__FILE__).'/config/config.inc.php'); ControllerFactory::getController('AboutController')->run(); y el código del controlador AboutController: class AboutController extends FrontController { public $php_self = 'about.php'; public function displayContent() { parent::displayContent(); self::$smarty->display(_PS_THEME_DIR_.'about.tpl'); } } De momento lo haré de la primera forma, la mala, porque necesito terminarlo y son páginas muy estáticas pero necesitaré hacerlo de la otra forma. Gracias y saludos! Te han contestado por aquí: http://www.prestashop.com/forums/index.php?/topic/178957-creacion-de-paginas-php/page__view__findpost__p__882556 Link to comment Share on other sites More sharing options...
Recommended Posts