[VAZA] 0 Denunciar post Postado Abril 16, 2009 Pessoal, eu estou criando módulos chamados default e admin se eu tentar acessar: http://localhost/segs, ele entra no meu default sem problemas agora, se eu tentar acessar http://localhost/segs/admin, ele me ret---a o seguinte erro: exception 'Zend_Controller_Dispatcher_Exception' with message 'Invalid controller specified (segs)' in C:\xampplite\htdocs\SEGS\library\Zend\Controller\Dispatcher\Standard.php:241 Stack trace: #0 C:\xampplite\htdocs\SEGS\library\Zend\Controller\Front.php(934): Zend_Controller_Dispatcher_Standard->dispatch(Object(Zend_Controller_Request_Http), Object(Zend_Controller_Response_Http)) #1 C:\xampplite\htdocs\SEGS\index.php(47): Zend_Controller_Front->dispatch() #2 {main} E o pior, é que acontece o mesmo erro se eu acessar: http://localhost/segs/default Segue abaixo foto da estrutura dos meus diretórios, o conteudo da index.php e o conteudo do meu .htaccess dentro do diretorio raiz do meu projeto(/segs): Minha estrutura: Meu .htaccess: # Rewrite Engine config RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule !\.(gif|jpg|png|css|js|controller.php|tpl|trans.php|service.php)$ index.php # Coloca UTF-8 como charset padrao AddDefaultCharset utf-8 # Desabilita a auto insercao de escapes (\) php_flag magic_quotes_gpc off # Desabilita as Variaveis globais php_flag register_globals off Minha index.php: //Define Control of Errors error_reporting(E_ALL|E_STRICT); ini_set('display_errors','on'); //Define Application Configuration setlocale(LC_ALL, 'BRA'); date_default_timezone_set('America/Sao_Paulo'); //Define Charset header('Content-type: text/html; charset=UTF-8'); //Define Application Path define('APPLICATION_PATH', realpath(dirname(__FILE__) . '/application/')); //Set Path set_include_path('.' . PATH_SEPARATOR . './library' . PATH_SEPARATOR . './application/modules/admin/models' . PATH_SEPARATOR . './application/modules/admin/views/scripts/' . PATH_SEPARATOR . get_include_path()); //Include AutoLoad require_once "./library/Zend/Loader.php"; Zend_Loader::registerAutoload(); $post = new Zend_Filter_Input(NULL,NULL,$_POST); $post->setDefaultEscapeFilter(new Zend_Filter_StringTrim()); $get = new Zend_Filter_Input(NULL,NULL,$_GET); $get->setDefaultEscapeFilter(new Zend_Filter_HtmlEntities(ENT_COMPAT, 'UTF-8')); Zend_Registry::set('post', $post); Zend_Registry::set('get', $get); //Setup The Frontcontroller $f = Zend_Controller_Front::getInstance(); $f->setModuleControllerDirectoryName ( 'controllers' ); $f->addModuleDirectory ( APPLICATION_PATH . '/modules' ); $f->throwExceptions(TRUE); //Dispatch //RUN The Application try { $f->dispatch(); }catch (Exception $e){ echo $e; } Compartilhar este post Link para o post Compartilhar em outros sites
Fabyo 66 Denunciar post Postado Abril 16, 2009 você esta confundindo modulo seria isso: http://localhost/segs/ http://localhost/admin/ do jeito que você fez: http://localhost/segs/admin ele espera um controller admin dentro da pasta segs, ou seja você teria que criar um arquivo AdminController.php e colocar dentro da segs se você criar modulos mesmo você teria as pastas separadas e acessaria cada modulo pelo indexController.php exemplo: segs/ controllers IndexController.php admin/ controllers IndexController.php deu pra entender? Compartilhar este post Link para o post Compartilhar em outros sites
[VAZA] 0 Denunciar post Postado Abril 16, 2009 Cara, sem querendo ser chato mas já sendo. me mostre como seria sua estrutura de pastas, sendo que você desejaria separar a parte administrativa da parte default do site...por favor... eu to batendo a cabeça :( Compartilhar este post Link para o post Compartilhar em outros sites
[VAZA] 0 Denunciar post Postado Abril 16, 2009 Opa...agora o erro modificou: 'Zend_Controller_Dispatcher_Exception' with message 'Invalid controller class ("Admin_IndexController") O q pode ser? Compartilhar este post Link para o post Compartilhar em outros sites
Fabyo 66 Denunciar post Postado Abril 16, 2009 OK só lembrando eu posso separar mesmo como se fosse um modulo, ou posso separar só que usando arquivos vou mostrar os 2 exemplos: no exemplo sem modulo eu acesso assim: default:http://localhost/normal admin:http://localhost/normal/admin agora em modulos ficaria assim: default:http://localhost/modulos/ admin:http://localhost/modulos/admin/ e to postando os exemplos, nada melhor com exemplos reais, ja testei ta tudo ok, só voce fazer o download e incluir a pasta library normal.zip modulos.zip qualquer duvida posta ai OBS: o seu erro é que você tem o arquivo IndexController.php e dentro dele você tem que definir assim: class Admin_IndexController extends Zend_Controller_Action Compartilhar este post Link para o post Compartilhar em outros sites
[VAZA] 0 Denunciar post Postado Abril 16, 2009 Fabyo..obrigadao pela ajuda. A forma q você fez deu certo, muito obrigado. Só que dessa forma, eu fiquei preocupado de como organizar meu site. pq na parte de admin, eu terei um controller de Noticias, Blogs, Enquestes, etc dai no caso do modulo normal q você fez, eu teria que coloar tudo dentro da IndexController, correto? dai eu teria que fazer na IndexController: function noticiasaddAction; function noticiaseditAction; function blogsaddAction; function blogseditAction...etc..correto? e dentro da view->scripts, eu tereia que fazer: noticiasadd.phtml, noticiasedit.phtml..e assim por diante..estou correto? eu acho q assim ficaria meio desorganizado..na minha opinião....acho q nao era por esse modo de pensar q eu estava quebrando a cabeça sobre class Admin_IndexController extends Zend_Controller_Action, eu consegui e deu certo!! :D Olha a minha estrutura como esta agora: Note que eu separei a área Default do site da parte administrativa... Dai eu fiz aquilo q você tinha me falado..dentro da IndexController.php, coloquei o seguinte codigo: class Admin_IndexController extends Zend_Controller_Action Cara..obrigadão..se nao fosse você eu nao teria conseguido!!! muuuuuuito obrigado :D Compartilhar este post Link para o post Compartilhar em outros sites
Fabyo 66 Denunciar post Postado Abril 16, 2009 Entao você ainda ta pensando errado do jeito que você imaginou sem modulos eu teria que coloar tudo dentro da IndexController, correto? Errado você teria no caso cada arquivo pra isso e nao metodos exemplo: NoticiasController.php blogsController.php AdminController.php e dai sim em cada arquivo você teria os metodos dele exemplo: NoticiasController.php indexAction AddAction DeletarAction EditarAction blogsController.php indexAction AddAction DeletarAction EditarAction AdminController.php indexAction AddAction DeletarAction EditarAction deu pra entender? de qualquer jeito ficaria sim organizado, só que em modulos mesmo você tem a vantagem de colocar ou retirar uma pasta ficando mais rapido incluir ou retirar modulos Compartilhar este post Link para o post Compartilhar em outros sites
[VAZA] 0 Denunciar post Postado Abril 16, 2009 dai nesse caso, na views-> scripts eu teria a seguinte estrutura? views->scripts->noticias->index.phtml views->scripts->blogs->index.phtml views->scripts->admin>index.phtml Compartilhar este post Link para o post Compartilhar em outros sites
Fabyo 66 Denunciar post Postado Abril 16, 2009 isso mesmo Compartilhar este post Link para o post Compartilhar em outros sites
[VAZA] 0 Denunciar post Postado Abril 16, 2009 beleza...vlw Fabyo. agora eu vou criar alguns formulários...para ir se acostumando com o Zend. vou criar os formulários pelo Zend_Form. Vlwwwww Compartilhar este post Link para o post Compartilhar em outros sites
Leandro Barral 1 Denunciar post Postado Junho 15, 2009 fabyo, esse exemplo em zip já é com utilizaçao do zend 1.8? Abraço! ps: nao sei se lembra de mim mas eu te enchi muito o saco pra aprender zend e depois de uns problemas de saúde estou de volta! abraço! Compartilhar este post Link para o post Compartilhar em outros sites
Fabyo 66 Denunciar post Postado Junho 15, 2009 Opa claro que lembro e sobre o Zend 1.8 eu criei um topico explicando as principais mudanças http://forum.imasters.com.br/index.php...amp;hl=zend+1.8 t+ Compartilhar este post Link para o post Compartilhar em outros sites