Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> как использовать zend controller и module, не подключается новый модуль 
:(
    Опции темы
graviator
Дата 21.3.2008, 15:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 21.3.2008

Репутация: нет
Всего: нет



Cтолкнулсяс проблемой в zend framework.

 Подключаю Default module c разными контроллерами прокатывают(выдает тестовую страничку)
http://localhost/index.php/default/default/index,(причем action меняются) 
а  когда начинаю подключать новый  модуль например registration то оно ищет контролеры из того же default module
(http://localhost/index.php/registration/default/index)- и подобные модификации.
Читал уже много доки и форумов, если возможно изложите инструкцию как подключить новый модуль и заюсать
его(помимо Default). 
ниже скинул отрывки кода. если еще код понадобится запостчу.


[из front.php]....................................................................................................................
Код

$controller->setControllerDirectory(MODULES_ROOT . 'default', 'default');
$controller->addControllerDirectory(MODULES_ROOT . 'registration','registration');

try {
    $controller->returnResponse(true);
    
    $afterDispatching = $controller->dispatch();
    echo 'test!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!';
    $afterDispatching->sendResponse();
} catch (Exception $e) {
    /** If something wrong get message */
    echo $e->getMessage();
}

.[из RegistrationController]....................................................................................................
Код

Zend_Loader::loadClass('Singular_Controller_Action');

class RegistrationController extends Singular_Controller_Action
{

    public function indexAction ()
    {
        //die();
        //echo $this->model->GetModel('Default_Index');
        //$this->debug($this->view->getScriptPaths());
        $this->view->assign('test', 'WOW registration! It works!');
        echo $this->view->render('index.tpl');
    }
}

.[из Action.php].........................................................................................................................................

Код

Zend_Loader::loadClass('Zend_Controller_Action');

class Singular_Controller_Action extends Zend_Controller_Action
{
    protected $db;
    
    public $auth;
    
    /** Model access interface */
    public $model = null;

    public function init ()
    {
        $this->_request->getModuleName();
        $this->initTemplateEngine();
        $this->initModelManager(false);
    }

    public function getInstance ()
    {
        return $this;
    }

    private function initTemplateEngine ()
    {
        $mod = $this->_request->getModuleName();
        $ctrl = $this->_request->getControllerName();
        $act = $this->_request->getActionName();
        echo '<pre>Module: '.$mod.'</pre>';
        echo '<pre>Controller: '.$ctrl.'</pre>';
        echo '<pre>Action: '.$act.'</pre>';
        
        /** Setting Smarty as default template Engine */
        Zend_Loader::loadClass('Singular_Template_Manager');
        $templateManager = new Singular_Template_Manager('Smarty', APP_ROOT . "views/templates/$ctrl");
        $engine = $templateManager->getEngine();
        $this->view = $engine;
    }
    
    private function initModelManager($autoload = false)
    {
        Zend_Loader::loadClass('Singular_Model_Manager');
        $this->model = new Singular_Model_Manager($this, $autoload);
    }

    public function debug ($data, $title = '')
    {
        if (! empty($title))
            $title = '<b style="color: red;">' . $title . '</b>';
        Zend_Debug::dump($data, $title);
    }

}


M
skyboy
На форуме используется система подсветки программного кода. В дальнейшем, будь добр, оформляй программный код при помощи тега [сode] или при помощи кнопки "код"(что то же самое)


Это сообщение отредактировал(а) skyboy - 21.3.2008, 15:27
PM MAIL   Вверх
Fortop
Дата 21.3.2008, 16:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2200
Регистрация: 13.11.2007
Где: Донецк

Репутация: 20
Всего: 42



Ничего не понятно. Оно ищет по многим местам.
Возможно у тебя есть контроллеры с одинаковыми именами, но в разных модулях?

Нужно следующее
1. твое дерево каталогов.
2. твой bootstraper
3. пару названий твои контроллеров в default и non-default
4. твои RewriteRule



--------------------
Мир это Я.
Живее всех живых.
PM MAIL   Вверх
graviator
Дата 21.3.2008, 17:14 (ссылка)  | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 21.3.2008

Репутация: нет
Всего: нет



1. дерево
user posted image

ну вот так вот оказалось что вопрос решился несколькими строчками... в manual которые надо  было написать в первых строчках.

\

В этой парадигме имена модулей используются как префиксы к контроллерам в этих модулях. Пример выше содержит три контроллера в модулях: 'Blog_IndexController', 'News_IndexController' и 'News_ListController'. Также определены два глобальных контроллера: 'IndexController' и 'FooController', для них не используются пространства имен. Эта структура директорий будет использоваться для примеров в данном разделе.

оказалось что надо было придерживаться вот таких имен. ну это тупизм конечно. додуматься невозможно.
это нужно знать!!!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0682 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.