variabili dal controller

Ciao a tutti !!!!

prima cosa, complimenti perchè siete l' unico forum in italiano sullo zend framework.

Ho un problema che non riesco a risolvere:

Devo realizzare un controller che prende un valore dall' url.

esempio:

se io carico la pagina http://prova.it/articolo/346

vorrei che mi stampa al centro della pagina 346,

in poche parole non so richiamare un valore dinamico dall' url.

Potreste farmi un esempio di codice ??

Grazie mille

inviato 8 anni fa
alessio
X 0 X

guardando l'URL di esempio che hai riportato noto subito che non rispetta lo standard:

http://nomesito/nome_controler/nome_action/nome_param_1/valore_param_1

per cui la situazione è più complessa. Infatti se l'URL fosse "standard" allora per recuperare il valore del primo parametro ti sarebbe bastata questa istruzione:

$this->_getParam('nome_param_1');

invece il tuo URL richiede un trattamento particolare, ovvero devi istruire il front controller affiche mandi tutte le richieste di quel tipo ad particolare metodo di un particolare controller e poi salvi il parametro in una particolare variabile. Per avere un'idea di ciò che sto dicendo guarda qui:

http://framework.zend.com/manual/en/zend.controller.router.html#zend.controller.router.routes.standard

Se hai difficoltà a procedere ne possiamo riparlare.

 :bye:

risposto 8 anni fa
Gianni Tomasicchio
X 0 X

Salve, suono nuovo nel forum e mi sono iscritto appositamente perchè voglio iniziare ad usare Zend Framework.

So che questa è una vecchia discussione ma è esattamente il problema che sto riscontrando ora.

Sono uno studente di Medicina e purtroppo un po' a digiuno di programmazione ad oggetti...

Vorrei creare una specie di mini CMS per un mio sito web.

L'idea è che possa avere un url del genere per richiamare le pagine:

http://nomesito/nome_controller/action/nome_pagina

esempio più concreto:

http://nomesito/index/vedi/nuova_pagina

Ho capito che bisogna usare la classe: Zend_Controller_Router_Route ma non riesco a capire come e dove inizializzare l'oggetto e come poi sfruttare questo oggetto per ottenere il parametro "nome_pagina" in modo da utilizzarlo a mio piacimento (nel mio caso usarlo per ricercare la pagina all'interno di un database per poi visualizzarla, questo è un altro problema che credo di essere in grado di risolvere da solo).

Spero che qualcuno riesca a darmi qualche lume perchè la documentazione ufficiale già citata da Gianni mi ha confuso ancora di più le idee...

risposto 7 anni fa
Mario Santagiuliana
X 0 X

Ok, sono riuscito a risolvere e a capire come funziona  :)

Lavoro con Zend Framework 1.8.

Ho per prima cosa inserito questa parte nel mio Bootstrap.php:

    public function _initRoutes()
    {
        $front = Zend_Controller_Front::getInstance();
        $router = $front->getRouter();
        $route = new Zend_Controller_Router_Route_Regex(
                '([^-]*)\.html',
                array(
                    'controller' => 'index',
                    'action'     => 'pagina',
                    ),
                array(
                    'pag' => 1,
                    )
        );
//      $router->setGlobalParam('lang', 'it');

        $router->addRoute('pag', $route);
    }

Per il resto ho fatto riferimento alla documentazione e funziona egregiamente quel che volevo combinare  8)

risposto 7 anni fa
Mario Santagiuliana
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda