Alejandro19193 Posted April 9, 2014 Share Posted April 9, 2014 Intento introducir codigo php en el tpl de my acount y al cargar recarga otro archivo y no me lo coje como php os adjunto foto mi version es 1.5 Link to comment Share on other sites More sharing options...
xabikip Posted April 9, 2014 Share Posted April 9, 2014 Lo mejor es separar código php en archivos .php. Antes se podía poner código php en los tpl mediante los tags {php}{/php} pero su uso ya no se soporta. Se puede forzar a prestashop creo para que lo puedes usar, pero no es muy recomendable. Link to comment Share on other sites More sharing options...
Alejandro19193 Posted April 9, 2014 Author Share Posted April 9, 2014 Como seria la manera para forzarlo Link to comment Share on other sites More sharing options...
nadie Posted April 9, 2014 Share Posted April 9, 2014 (edited) Trabajar con php dentro de los tpls (http://www.smarty.net/docs/en/language.function.php.tpl) no es recomendado, como bien dice Xabi, lo ideal es separar las cosas, en el php, mandar las variables al tpl, para luego imprimirlas en el tpl. El colocar codigo php en el tpl, aunque se pueda hacer no es recomendado. Aquí: http://www.smarty.net/docs/en/language.variables.tpl#language.assigned.variables tienes un ejemplo de como pasa variables un php a un tpl Edited April 9, 2014 by nadie (see edit history) 1 Link to comment Share on other sites More sharing options...
Alejandro19193 Posted April 9, 2014 Author Share Posted April 9, 2014 De la primera forma del enlace que has pasado me da un error por que no sabe lo que hacer con el codigo php y de la segunda forma no me serviria por que quiero que me aparezca una imagen Link to comment Share on other sites More sharing options...
nadie Posted April 9, 2014 Share Posted April 9, 2014 (edited) De la primera forma del enlace que has pasado me da un error por que no sabe lo que hacer con el codigo php y de la segunda forma no me serviria por que quiero que me aparezca una imagen Si te sirve la segunda manera, la imagen, la puedes hacer aparecer igualmente. (Ya que luego llamas a la variable que has preparado en el php al tpl) Por cierto, en php, ya tienes metodos dentro de Prestashop, para hacer una consulta a la base de datos, sin tener que hacer una conexión de nuevo a la base de datos, como has realizado en una de la captura que adjuntados Edited April 9, 2014 by nadie (see edit history) Link to comment Share on other sites More sharing options...
Alejandro19193 Posted April 9, 2014 Author Share Posted April 9, 2014 como se realizaria la consulta a la base de datos con prestashop para no utilizar php Link to comment Share on other sites More sharing options...
xabikip Posted April 9, 2014 Share Posted April 9, 2014 Como seria la manera para forzarlo Pues creía haber visto por el foro como forzar para que uses los tags {php} en los .tpl pero ahora no lo encuentro. De todos modos no es nada recomendable y es mejor que lo hagas como te comenta nadie. Es muy importante tener buenas practicas. Link to comment Share on other sites More sharing options...
nadie Posted April 9, 2014 Share Posted April 9, 2014 (edited) como se realizaria la consulta a la base de datos con prestashop para no utilizar php Si se utiliza php, pero no hace falta que hagas una conexión nueva a la base de datos como has realizado en una de tus capturas, aquí: http://doc.prestashop.com/display/PS15/DB+class+best+practices tienes las tenicas que se utilizan, para hacer una consulta especifica. Edited April 9, 2014 by nadie (see edit history) Link to comment Share on other sites More sharing options...
Alejandro19193 Posted April 9, 2014 Author Share Posted April 9, 2014 ya pero si es php volvemos al problema de no pasar la imagen lo que yo necesito es que prestashop acepte el codigo php dentro del smarty tal cual Link to comment Share on other sites More sharing options...
nadie Posted April 9, 2014 Share Posted April 9, 2014 ya pero si es php volvemos al problema de no pasar la imagen lo que yo necesito es que prestashop acepte el codigo php dentro del smarty tal cual Dentro del php, guardas la ruta de la imagen en una variable, y luego en el tpl puedes imprimir esa variable, sin problema. Link to comment Share on other sites More sharing options...
Alejandro19193 Posted April 9, 2014 Author Share Posted April 9, 2014 (edited) en el tpl como se le incluye el fichero php ya que me dice que no encuentra la variable que le he asignado Edited April 9, 2014 by Alejandro19193 (see edit history) Link to comment Share on other sites More sharing options...
nadie Posted April 9, 2014 Share Posted April 9, 2014 en el tpl como se le incluye el fichero php ya que me dice que no encuentra la variable que le he asignado Fijate en los controladores que tiene Prestashop, en el directorio: /controllers/front/ como muchos de ellos envian variables a los tpls de la plantilla. (En uno de los enlaces que te pase arriba, esta explicado como funciona el asunto) Link to comment Share on other sites More sharing options...
Alejandro19193 Posted April 9, 2014 Author Share Posted April 9, 2014 (edited) De esa manera de asignacion tal cual como en la pagina me dice que no encuentra la variable en el tpl Este es el error que me muestra: Notice: Undefined index: nombre inC:\AppServ\www\prueba\prestashop\cache\smarty\compile\dd\94\ca\dd94caeedf43d0e480833deeb2422187fd7cfd75.file.my-account.tpl.phpon line 62Notice: Trying to get property of non-object inC:\AppServ\www\prueba\prestashop\cache\smarty\compile\dd\94\ca\dd94caeedf43d0e480833deeb2422187fd7cfd75.file.my-account.tpl.phpon line 62 Edited April 9, 2014 by Alejandro19193 (see edit history) Link to comment Share on other sites More sharing options...
Alejandro19193 Posted April 9, 2014 Author Share Posted April 9, 2014 claro pero yo lo que quiero es lo contrario que abriendo el tpl me ejecute dentro el codigo php y eso es lo que no se como se realiza Link to comment Share on other sites More sharing options...
Recommended Posts