Zend 1 - alternatywna ścieżka do formularzy

0

Hej

potrzebuję określić dodatkową ścieżkę formsów dla Zenda 1.12.

Standardowa to library/Zend/Form, a prefiks formularza to Zend_Form.
mnie natomiast zależy na lokalizacji (katalog stworzony przeze mnie) application/forms/MyForm i prefiksie MyForm_

Czy ktoś mógłby poradzić mi gdzie i jak to zrobić?

0

Zajrzałam do jednego projektu Zendowego:

programista stworzył tam katalog application/library/Mylib/Form/

a w nim plik Contact.php

zawierający klasę:

Mylib_Form_Contact

i wszystko działa.

Tylko jeszcze w Bootstrap.php jest taka metoda:

protected function _initModules() {
        
    	$frontController = Zend_Controller_Front::getInstance();
    	
    	
    	Zend_Loader::loadClass('Mylib_Form_Contact');
    	
    	
        $frontController->throwExceptions(true);
        $frontController->setControllerDirectory(array(
                'default' => APPLICATION_PATH. 'controllers/'
            )
        );
        $frontController->setModuleControllerDirectoryName('controllers');
            
    }

Czy to prawidłowe rozwiązanie? Nie mam pojęcia, ale wiem, że działające.

0

Nie działa. W dodatku nie ma tu kodu dodającego ścieżkę application/library/Mylib/Form/ (sam własnie nie wiem czy dodaje się to przez Zend_Loader, Zend_Loader_PluginLoader czy przez Zend_Loader_Autoloader_Resource).

Czytam manuala i tkwię w nim bez końca, bardzo wielu opisów wg mnie w nim brakuje

0
Webowiec napisał(a):

Nie działa. W dodatku nie ma tu kodu dodającego ścieżkę application/library/Mylib/Form/ (sam własnie nie wiem czy dodaje się to przez Zend_Loader, Zend_Loader_PluginLoader czy przez Zend_Loader_Autoloader_Resource).

Czytam manuala i tkwię w nim bez końca, bardzo wielu opisów wg mnie w nim brakuje

a co masz dokładnie w Bootstrap.php?

Zauważyłam, że jest w nim jeszcze coś takiego:


protected function _initAutoload()
    {
        $autoloader = new Zend_Application_Module_Autoloader(array(
            'namespace' => 'Default',
            'basePath'  => dirname(__FILE__),
        ),
        array(
            'namespace' => 'Mylib',
            'basePath'  => dirname(__FILE__),
        ));
        
        
        
        return $autoloader;
    	
    	
    }

1 użytkowników online, w tym zalogowanych: 0, gości: 1