Jump to content

Creare pagina custom direttamente da modulo


Madsex

Recommended Posts

Salve,

un modulo che stò creando divide le sue funzionalità tra front end e backend.

Nel lato frontend avrei necessità di creare una pagina custom all'interno della quale verranno eseguite dall'utente alcune azioni, disinstallato il modulo la pagina deve essere cancellata, per questo motivo non posso usare la funzionalità di prestashop per la creazione delle pagine.

 

Come devo procedere? 

 

Per ora ho creato all'interno del modulo la cartella controlers/front e inserito al suo interno il file php chiamato CustomPageController.php di seguito il contenuto:

<?php

class CustomPageController extends FrontController{

    public function init(){
        parent::init();
    }

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

    /*  The following code portion is optional.
    /*  Remove the double-slashes to activate the portion
    /*  if you want to use external stylesheet and JavaScript for the page.
    /*  Create the CSS and JS files in the css and js directories of the theme accordingly
     */

    //public function setMedia(){
    //parent::setMedia();
    //$this->addCSS(_THEME_CSS_DIR_.'custom-page.css');
    //$this->addJS(_THEME_JS_DIR_.'custom-page.js');
    //}

}

Ovviamente non funge, avreste qualche consiglio o magari una guida chiara da seguire? Dovrei anche settare la url per dire ma nn so come fare.

 

Grazie in anticipo

Edited by Madsex (see edit history)
Link to comment
Share on other sites

Commetti 2 errori:

  • il nome della classe Nome-moduloNome-paginaModuleFrontController es: supponendo di avere un modulo chiamato miomodulo e una pagina chiamata visualizza, il nome sarà:MioModuloVisualizzaModuleFrontController 
  • la classe da estendere non è FrontController, ma ModuleFrontController che erediterà le caratteristiche da FrontController.

Ad ogni modo trovi tutto quello che ti occorre nella documentazione: http://doc.prestashop.com/display/PS15/New+Developers+Features+In+PrestaShop+1.5 sezione New File-tree And Operations

Link to comment
Share on other sites

Scusa ma non è che con la versione 1.6 cambia qualche cos?

Sono ore che provo, sono arrivato a ricopiare di sana pianta l'esempio della documentazione ma nulla.

In pratica copio uguale uguale l'esempio, creo una pagina dal menù seo & url ma quando vado nel front office e la richiamo mi compare un bell'errore 500.

 

Ho il sospetto che alla versione 1.6 cambi qualche cosa, hai novità in merito?

 

Grazie

Link to comment
Share on other sites

Scusa ma non riesco proprio a capire dove sbaglio mi pare di aver seguito tutte le specifiche della documentazione mi daresti una mano?

Ecco cosa ho prodotto:

 

questo è il file contenuto in: modules/gcweddinglist/controllers/front/weddingpage.php

<?php
class gcweddinglistweddingpageModuleFrontController extends ModuleFrontController
{
    public function setMedia()
    {
        parent::setMedia();
        /*$this->addCSS(_PS_MODULE_DIR_.'contact-form.css');
        $this->addJS(_PS_MODULE_DIR_.'front_script.js');*/
    }

    /**
     * Assign template vars related to page content
     * @see FrontController::initContent()
     */

    public function init()
    {
        parent::init();

    }


    public function initContent()
    {
        parent::initContent();
        $this->setTemplate('front-page.tpl');
    }
}

Il file front-page.tpl è contenuto in : modules/gcweddinglist/views/templates/front/front-page.tpl

Chiarametne al moneto dentro non c'è nulla se non un "ciao".

 

Dopo aver caricato questi file vado nell'amministrazione sotto SEO & URl creo una nuova pagina e alla voce pagina seleziono dal menù a tendina il mio modulo. per l'url rewrite metto una cosa a mio piacere tipo " miapagina " e per verificare punto la url del browser su miodominio/miapagina.

 

Qui appare l'errore 500.

 

Non capisco proprio dove sbaglio, mi date una manina? Grazie

Link to comment
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...