Angel Moral Posted April 9, 2019 Share Posted April 9, 2019 Hola, he creado una web con php siguiendo el tutoría del Victor Ródenas (https://victor-rodenas.com/2017/04/23/crear-pagina-php-en-prestashop-1-7/) y he adaptado el código a lo que yo quiero que realice ese página. Esa página quiero que tenga dos campos de texto donde el usuario introduce el alto y el ancho y un botón que al pulsarlo llame a una función del archivo php que generará un pdf con las dimensiones marcadas por el usuario. Para realizar esto lo he hecho de la siguiente manera: En el archivo nadie.tpl (themes/classic/templates/nadie.tpl) {extends file='page.tpl'} {block name='page_title'} <span class="sitemap-title">{l s='Plantilla descargable' d='Shop.Theme'}</span> {/block} {block name='page_content_container'} <section> <p><label>Introduce ancho:</label> <input type="text" id="name" name="name" maxlength="8" size="10" /></p> <p><label>Introduce alto:</label> <input type="text" id="name" name="name" maxlength="8" size="10" /></p> <button onclick="myFunction()">Click me</button> <p id="demo"></p> <script> function myFunction() { document.getElementById("demo").innerHTML = "Hello World"; $.ajax( { type: 'GET', data: {action:'getPDF'}, url: 'NadieController', success: function (response) { console.log(response); } } ); } </script> </section> {/block} y en el fichero NadieController.php (controller/front/NadieController.php) <?php class NadieControllerCore extends FrontController { public $php_self = 'nadie'; public function initContent() { parent::initContent(); if(isset($_GET['action']) && !empty($_GET['action'])) { $action = $_GET['action']; switch($action) { case 'getPDF' : getPDF();break; // ...etc... } } $this->setTemplate('nadie'); } public static function getPDF(){ ob_start(); require('vendor/fpdf/fpdf.php'); $pdf = new FPDF('P','mm',array(20,10)); $pdf->AddPage(); $pdf->Output(); } } He mirado en internet y l sintaxis creo que es correcta, sin embargo, me muestra el error que adjunto en la imagen. Link to comment Share on other sites More sharing options...
Rodrigo B Laurindo Posted April 9, 2019 Share Posted April 9, 2019 (edited) Hola @Angel Moral, Te has olvidado poner el script del tpl dentro de un bloque {literal}{/literal} Edited April 9, 2019 by Rodrigo B Laurindo (see edit history) 1 Link to comment Share on other sites More sharing options...
Angel Moral Posted April 9, 2019 Author Share Posted April 9, 2019 Muchas gracias Rodrigo, ya he metido el script en el literal y no me da ese error, pero la consulta de AJAX no la hace bien, me da un error al intentar acceder al controlador. ¿Como yo lo estoy haciendo es la forma correcta en acceder al controlador que se encuentra en controller/front? Adjunto el error que me muestra la consola de google chrome. Link to comment Share on other sites More sharing options...
Rodrigo B Laurindo Posted April 9, 2019 Share Posted April 9, 2019 (edited) No. No estoy ahora en mi ordenador, pero intenta algo como index.php?controller=NadieController Edited April 9, 2019 by Rodrigo B Laurindo (see edit history) 1 Link to comment Share on other sites More sharing options...
Angel Moral Posted April 9, 2019 Author Share Posted April 9, 2019 No me funciona eso. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now