Nell’articolo di oggi illustro la procedura per aggiungere un controller al modulo VUFIND. Per controller si intende la classe responsabile di interpretare la richiesta e caricare la pagina di presentazione dati (VIEW).
Occorre creare la classe all’interno del package di VUFIND
1 |
module/VuFind/src/VuFind/controller |
I controller sono classi php che estendono la classe “AbstractBase”, i cui metodi con suffisso Action individuano le action esposta dal controller.
Consideriamo la classe TestController.php contenente il seguente codice:
1 2 3 4 5 6 7 8 9 10 |
<?php namespace VuFind\Controller; class TestController extends AbstractBase { public function testAction() { $view = $this->createViewModel(); return $view; } } |
Tale controller va configurato nel file di configurazione centrale del modulo VUFIND disponibile al path
1 |
module/VuFind/config/ module.config.php. |
Tale configurazione prevede la definizione di un alias nela sezione invokables del file
1 2 |
'invokables' => array( 'test' => 'VuFind\Controller\TestController', |
e la definizione della “Route”, che individua la action da invocare agendo sulla sezione delle rotte statiche
1 2 |
$staticRoutes = array( 'test/test', |
Il metodo testAction prevede la presenza di una view che si chiami come la action, nel nostro caso test.phtml, presente all’interno del nostro tema all’interno di una directory pari al nome del controller
“themes/<tema>/templates/test/test.phtml”
Il cui contenuto è
1 2 3 |
<? echo 'TEST'; ?> |
E’ possibile verificare la correttezza di quanto fatto invocando l’url
http://localhost/vufind/test/test