Zend_Form con Zend_Application

Ciao ragazzi,

uso Zend_Application da un paio di giorni e non riesco a gestire la libreria Zend_Form

Ricevo l'errore

Class 'forms_ContactForm' not found in

si intuisce dal messaggio che non riesce a trovare il file .php nel percorso: application/modules/admin/form.

Non capisco come configurare lo Zend_Application.

Ho creato un bootstrap per il modulo ADMIN(modules/admin/bootstrap.php), indicando

<?php
class Admin_Bootstrap extends Zend_Application_Module_Bootstrap
{
    protected function _initAutoload()
        {
            $autoloader = new Zend_Loader_Autoloader_Resource(array(
                'namespace' => 'Admin',
                'basePath'  => APPLICATION_PATH .'/modules/admin',
                'resourceTypes' => array(
                    'form' => array(
                        'path' => 'forms',
                        'namespace' => 'Forms',
                    ),
                    'model' => array(
                        'path' => 'models',
                        'namespace' => 'Model',
                    ),
                )
            ));
            return $autoloader;
        }
}

Ma niente.

Questa è la pagina ContactForm.php(modules/admin/forms):

<?php

class Forms_ContactForm extends Zend_Form 
{ 
    public function __construct($options = null) 
    { 
        parent::__construct($options);
        $this->setName('contact_us');
               
        $username = new Zend_Form_Element_Text('username');
        $username->setLabel('Username')
                  ->setRequired(true)
                  ->addValidator('NotEmpty');

        $password = new Zend_Form_Element_Text('password');
        $password->setLabel('Password')
                 ->setRequired(true)
                 ->addValidator('NotEmpty');              
        
        $submit = new Zend_Form_Element_Submit('submit');
        $submit->setLabel('Contact us');
        
        $this->addElements(array($username, 
            $password, $submit));
           
    } 
}

Suggerimenti ??

Grazie

inviato 7 anni fa
C4rLoS
modificato 7 anni fa
X 0 X

Ma chi carica il file di bootstrap.php del tuo modulo? Non capisco la logica che hai usato...

Credo tu debba comportarti come nell'altra discussione inerente al layout. Nel tuo file di configurazione dell'applicazione inserisci le coordinate per la cartella contenente i form.

Non dovrebbe essere necessario però, se l'errore che ti riporta è inerente a questo percorso: "application/modules/admin/form" vuol dire che hai già configurato la tua applicazione in modo tale che ricerchi i form all'interno della cartella "form" e non "forms", devi dunque apportare solo questa correzione.

risposto 7 anni fa
Mario Santagiuliana
X 0 X

Mario, problema risolto.

Bastava ri-scrivere il nome della classe, Forms_ContactForm in:

 1. Default_Forms_ContactForm per utilizzarlo nel modulo DEFAULT 

 2. Admin_Forms_ContactForm per utilizzarlo nel modulo ADMIN

Grazie ;)

risposto 7 anni fa
C4rLoS
X 0 X

Una soluzione molto più semplice allora ahahah

Fra l'altro era anche quella più logica...  :-[ :-[

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