Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Pedro Bento

[Resolvido] Configurar Zend locaweb

Recommended Posts

Olá,

 

Tenho que configurar o Zend na locaweb (apesar de ser temporário locaweb, só por uns meses). Primeiro, o pessoal da locaweb não consegue mudar o caminho da url, que é uma pasta public_html para a public do zend. Então copiei todas as pastas para a raiz, e também todas as pastas para a public_html, só para testar por enquanto, e redirecionam a url para public_html/public

 

Apesar do que o erro não parece ser sobre isto, veja:

 

Fatal error: Uncaught exception 'Zend_Loader_PluginLoader_Exception' with message 'Plugin by name 'BaseUrl' was not found in the registry; used paths: ZendX_JQuery_View_Helper_: ZendX/JQuery/View/Helper/ Zend_View_Helper_: Zend/View/Helper/:/home/storage/3/bd/99/omelhorfornecedor/public_html/application/views/helpers/' in /home/storage/3/bd/99/omelhorfornecedor/public_html/library/Zend/Loader/PluginLoad

56b

er.php:390 Stack trace: #0 /home/storage/3/bd/99/omelhorfornecedor/public_html/library/Zend/View/Abstract.php(1117): Zend_Loader_PluginLoader->load('BaseUrl') #1 /home/storage/3/bd/99/omelhorfornecedor/public_html/library/Zend/View/Abstract.php(568): Zend_View_Abstract->_getPlugin('helper', 'baseUrl') #2 /home/storage/3/bd/99/omelhorfornecedor/public_html/library/Zend/View/Abstract.php(335): Zend_View_Abstract->getHelper('baseUrl') #3 [internal function]: Zend_View_Abstract->__call('baseUrl', Array) #4 /home/storage/3/bd/99/omelhorfornecedor/public_html/application/layouts/scripts/layout_areadofornecedor.phtml(18): Zend_Vie in /home/storage/3/bd/99/omelhorfornecedor/public_html/library/Zend/Loader/PluginLoader.php on line 390

 

meu htacess

SetEnv APPLICATION_ENV development
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ /index.php [NC,L]

index.php

set_include_path(implode(PATH_SEPARATOR, array(
    realpath(dirname(__FILE__) . '/../library'),
    get_include_path(),
)));

// Define path to application directory
defined('APPLICATION_PATH')
    || define('APPLICATION_PATH', realpath(dirname(__FILE__) . '/../applicati
56b
on'));

// Define application environment
defined('APPLICATION_ENV')
    || define('APPLICATION_ENV', (getenv('APPLICATION_ENV') ? getenv('APPLICATION_ENV') : 'production'));

/** Zend_Application */
require_once 'Zend/Application.php';

// Create application, bootstrap, and run
$application = new Zend_Application(
    APPLICATION_ENV, 
    APPLICATION_PATH . '/configs/application.ini'
);
$application->bootstrap();
$application->run();

bootstrap

class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
{

    protected function _initAutoload()
    {
        $autoloader = new Zend_Application_Module_Autoloader(array(
            'namespace' => 'Default',
            'basePath'  => dirname(__FILE__),
        ));
        
        include 'traducao/portugues.php';
		$translate = new Zend_Translate('array', $portugues, 'pt_BR');
		$registry = Zend_Registry::getInstance();
		$registry->set('Zend_Translate', $translate);
        return $autoloader;
        
        
    }

    protected function _initDoctype()
    {
        $this->bootstrap('view');
        $view = $this->getResource('view');
        $view->doctype('XHTML1_STRI
1c7
CT');

		$view->addHelperPath('ZendX/JQuery/View/Helper/', 'ZendX_JQuery_View_Helper');
		$viewRenderer = new Zend_Controller_Action_Helper_ViewRenderer();
		$viewRenderer->setView($view);
		Zend_Controller_Action_HelperBroker::addHelper($viewRenderer);
    }
    
}

aparentemente o problema é nos $this->baseUrl() que eu tenho pelo site. Substituindo eles por www.meusite.com.br/js/jquery etc. funciona . Mesmo assim, sabem como resolver?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pedro,

 

Voce nao precisa jogar seu application dentro da pasta public_html...

 

o browser vai ler o seu bootstrap index.php dentro da public_html e redicionara para o controller desde que o mesmo esteja 1 nivel acima do public_html...deve funcionar corretamente.

 

Qual versão do framework que voce está utilizando?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pedro,

 

Voce nao precisa jogar seu application dentro da pasta public_html...

 

o browser vai ler o seu bootstrap index.php dentro da public_html e redicionara para o controller desde que o mesmo esteja 1 nivel acima do public_html...deve funcionar corretamente.

 

Qual versão do framework que voce está utilizando?

 

 

Versão 1.8.0. Sim, acabou dando certo mas obrigado

 

O problema que eu tive (que parece que muita gente tem quando joga no servidor online) é com o $this->BaseUrl() que você acessa de qualquer view, o frontcontroller atribui a todas as views.

 

Não sei o que acontece se é porque é Linux o servidor online (case sensitive), não consegui descobrir o motivo, mas dava erro em todas as páginas que tinha baseurl.

 

Solucionei jogando no init de todos controladores isto: $this->view->BaseUrl = Zend_Controller_Front::getInstance()->getBaseUrl(); e mudando em todas as views para acessar $this->BaseUrl.

 

Até logo

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.