Jump to content

Estendere controller


sir_doy

Recommended Posts

Ciao,

sì è possibile e come ti ha detto @ziobudda lo puoi fare scrivendo un modulo custom. In generale così: https://devdocs.prestashop.com/1.7/modules/concepts/ a seconda di cosa devi fare e "dove" devi agganciarti.

Buona giornata,
Federica

Link to comment
Share on other sites

Facciamo l'esempio che io abbia la necessità di estendere il controller CmsController.php, allora io dentro al mio modulo creo un file dentro a /miomodulo/controllers/front chiamato nomefile.php e il nome della classe sarà questo: <MioModulo><NomeFile>ModuleFrontController, poi dentro aggiungo il mio metodo, per esempio:

    public function initContent()
    {
        parent::initContent();
        Hook::exec('customHook');
    }

le mie domande quindi sono:
1) dove è che dico che sto estendendo CmsController?

2) che nome devo dare al file?
 

  • Like 1
Link to comment
Share on other sites

"Purtroppo" dipende dalla classe, dal metodo e da quello che vuoi ottenere 😊

Partendo dal presupposto che dovresti preferire gli hook (da utilizzare con i moduli) invece degli override, cosa devi fare di specifico in questo caso?

Link to comment
Share on other sites

Ho due casi:
1) dovrei estendere la classe classes/controller/FrontController.php per assegnare dei dati ai template con smarty

2) dovrei estendere il controller controllers/front/IndexController.php anche qui per assegnare dei dati al template con smarty
la strada che avrei preso io sarebbe stata quella di fare l'override e avrei scritto qualcosa tipo:

    public function initContent()
    {
        parent::initContent();
        Hook::exec('customHook');
    }

dove customHook gestiva l'assign di smarty

Edited by sir_doy (see edit history)
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...