Foros del Web » Programando para Internet » PHP » Zend »

problema con jquery y modulos en zend framework

Estas en el tema de problema con jquery y modulos en zend framework en el foro de Zend en Foros del Web. hola que tal, soy nuevo aca y espero no molestar mucho o bueno solo con algunas dudas q tenga bueno como dice el titulo necesito ...
  #1 (permalink)  
Antiguo 11/05/2012, 01:01
 
Fecha de Ingreso: mayo-2012
Ubicación: La Paz
Mensajes: 23
Antigüedad: 7 años, 1 mes
Puntos: 0
Pregunta problema con jquery y modulos en zend framework

hola que tal, soy nuevo aca y espero no molestar mucho o bueno solo con algunas dudas q tenga
bueno como dice el titulo necesito q me ayuden con algo
es que estoy trabajando con zend framework 1.11.11 en un sistemita pequeño pero empeze probando asi como dicen la mayoria de tutoriales en internet (sin modulos aun) creando forms, controladores, modelos y vistas, ahora lo que queria hacer es usar las librerias extras ZendX_JQuery para jquery, y estaba funcionando bien, pero luego viendo que ya avanzaba , aunque de a poco, tambien empeze a separar mi sistemita en lo que es un backend y frontend, todo esto con modulos, lo hize mediante consola y me creo los modulos asi que migre mis controladores, vistas, modelos y forms dentro de mi modulo backend logre hacerlo funcionar casi todo siguiendo consejos que vi en este foro, pero al mismo tiempo lo que tenia funcionando con las librerias extra para jquery ya no me funciono y no se por que, aqui les muestro mi codigo del bootstrap y de mi layout para q si pueden me indiquen que mas tengo q agregar o cambiar para que me vuelva a funcionar lo que tenia de jquery

bootstrap
Código:
class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
{

	protected function _initView()
	{
		$view = new Zend_View();			 
		$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);		
	}
}
layout.phtml

Código:
$this->headMeta()->appendHttpEquiv('Content-Type', 'text/html;charset=utf-8');
$this->headTitle()->setSeparator(' - ');
$this->headTitle('Centro Medico');

echo $this->doctype(); ?>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
    <?php echo $this->headMeta(); ?>
    <?php echo $this->headTitle(); ?>
    
    <?php
    //para jquery
    echo $this->jQuery()->addStylesheet($this->baseUrl() . '/css/jquery-ui-1.8.17.custom.css')	
    					->setLocalPath($this->baseUrl() . '/js/jquery.js')
						->setUiLocalPath($this->baseUrl() . '/js/jquery-ui-1.8.17.custom.min.js');
	?>								
    <?php // echo $this->headLink()->prependStylesheet($this->baseUrl() . '/css/jquery-ui-1.8.17.custom.css'); ?>    
    <?php echo $this->headScript()->appendFile($this->baseUrl() . '/js/scripts.js'); ?>
    <?php echo $this->headLink()->prependStylesheet($this->baseUrl() . '/css/site.css'); ?>
    
</head>
<body>
application.ini
Código:
[production]
phpSettings.display_startup_errors = 0
phpSettings.display_errors = 0
phpSettings.date.timezone = "America/La_Paz"
includePaths.library = APPLICATION_PATH "/../library"
bootstrap.path = APPLICATION_PATH "/Bootstrap.php"
bootstrap.class = "Bootstrap"
appnamespace = "Application"
resources.frontController.controllerDirectory = APPLICATION_PATH "/controllers"
resources.frontController.params.displayExceptions = 0


resources.db.adapter = PDO_MYSQL
resources.db.params.host = localhost
resources.db.params.username = root
resources.db.params.password = info2011
resources.db.params.dbname = centro_medico
resources.view.doctype = "XHTML1_STRICT"
resources.view.encoding = "UTF-8"
resources.view.charset = "UTF-8"
resources.view.contentType = "text/html; charset=UTF-8"

resources.layout.layoutPath = APPLICATION_PATH "/layouts/scripts/"

resources.session.save_path = APPLICATION_PATH "/data/session"
resources.session.use_only_cookies = true
resources.session.remember_me_seconds = 864000

resources.frontController.moduleDirectory = APPLICATION_PATH "/modules"
resources.modules[] = 

[staging : production]

[testing : production]
phpSettings.display_startup_errors = 1
phpSettings.display_errors = 1

[development : production]
phpSettings.display_startup_errors = 1
phpSettings.display_errors = 1
resources.frontController.params.displayExceptions = 1
como dije hasta antes de utilizar modulos me andaba bien el ZendX_JQuery, pero ahora ya no y no se que hacer para arreglarlo, espero me puedan ayudar
de antemano gracias y saludos
  #2 (permalink)  
Antiguo 11/05/2012, 02:58
Avatar de masterpuppet
Software Craftsman
 
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 3.550
Antigüedad: 11 años, 5 meses
Puntos: 845
Respuesta: problema con jquery y modulos en zend framework

Que tal geek_omar007,

Bienvenido, ahora en relación al problema que tienes, comprueba que jquery se esta cargando correctamente, y te sugiero que en vez de crear una instancia de Zend_View, utilices el resource que tienes configurado en el application.ini, esto:

Código PHP:
Ver original
  1. protected function _initView()
  2. {
  3.     $view = new Zend_View();             
  4.     $view->addHelperPath('ZendX/JQuery/View/Helper/', 'ZendX_JQuery_View_Helper');
  5.     $viewRenderer = new Zend_Controller_Action_Helper_ViewRenderer();
  6.     $viewRenderer->setView($view);
  7.     Zend_Controller_Action_HelperBroker::addHelper($viewRenderer);     
  8. }
deberia ser esto:

Código PHP:
Ver original
  1. protected function _initView()
  2. {
  3.     $this->bootstrap('view');
  4.     $view = $this->getResource('view');
  5.     $view->addHelperPath('ZendX/JQuery/View/Helper/', 'ZendX_JQuery_View_Helper'); 
  6. }

también ten en cuenta que el baseUrl acepta por parámetro el path, esto:

Código PHP:
Ver original
  1. echo $this->headScript()->appendFile($this->baseUrl() . '/js/scripts.js');

debería ser esto:

Código PHP:
Ver original
  1. echo $this->headScript()->appendFile($this->baseUrl('/js/scripts.js'));

Saludos.
__________________
http://es.phptherightway.com/
thats us riders :)
  #3 (permalink)  
Antiguo 11/05/2012, 14:52
 
Fecha de Ingreso: mayo-2012
Ubicación: La Paz
Mensajes: 23
Antigüedad: 7 años, 1 mes
Puntos: 0
Respuesta: problema con jquery y modulos en zend framework

hola masterpuppet, gracias por tu respuesta
mira que segui tu consejo en lo del bootstrap pero me dio un error medio feo
te lo pongo a ca para ver si me puedesindicar donde tendria q arreglarlo

Código PHP:
Ver original
  1. Fatal error: Uncaught exception 'Zend_Application_Bootstrap_Exception' with message 'Circular resource dependency detected' in /usr/share/php/Zend/Application/Bootstrap/BootstrapAbstract.php:662 Stack trace: #0 /usr/share/php/Zend/Application/Bootstrap/BootstrapAbstract.php(629):
  2. Zend_Application_Bootstrap_BootstrapAbstract->_executeResource('view') #1 /usr/share/php/Zend/Application/Bootstrap/BootstrapAbstract.php(586): Zend_Application_Bootstrap_BootstrapAbstract->_bootstrap('view') #2 /var/www/html/cmedico/application/Bootstrap.php(8):
  3. Zend_Application_Bootstrap_BootstrapAbstract->bootstrap('view') #3 /usr/share/php/Zend/Application/Bootstrap/BootstrapAbstract.php(669): Bootstrap->_initView() #4 /usr/share/php/Zend/Application/Bootstrap/BootstrapAbstract.php(622): Zend_Application_Bootstrap_BootstrapAbstract->_executeResource('view') #5 /usr/share/php/Zend/Application/Bootstrap/BootstrapAbstract.php(586): Zend_Application_Bootstrap_BootstrapAbstract->_bootstrap(NULL) #6 /usr/share/php/Zend
  4. /Application.php(355): Zend_Ap in /usr/share/php/Zend/Application/Bootstrap/BootstrapAbstract.php on line 662

no se en que puede estar mal, segui los consejos para el codigo del bootstrap lo que indica en la pagina oficial, espero me puedan ayudar saludos
  #4 (permalink)  
Antiguo 11/05/2012, 15:11
Avatar de masterpuppet
Software Craftsman
 
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 3.550
Antigüedad: 11 años, 5 meses
Puntos: 845
Respuesta: problema con jquery y modulos en zend framework

Es por el nombre del metodo, modifica esto:

Código PHP:
Ver original
  1. public function _initView

por algo asi:

Código PHP:
Ver original
  1. public function _initViewResource
__________________
http://es.phptherightway.com/
thats us riders :)
  #5 (permalink)  
Antiguo 11/05/2012, 15:28
 
Fecha de Ingreso: mayo-2012
Ubicación: La Paz
Mensajes: 23
Antigüedad: 7 años, 1 mes
Puntos: 0
Respuesta: problema con jquery y modulos en zend framework

gracias de nuevo por responder, lo cambie ya y no me presenta errores, pero en mi layout, no me imprime las lineas esas donde se adicionan las librerias tanto el jquery como el jqueryui, me queda algo asi el codigo fuente

Código HTML:
Ver original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  2.     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
  3. <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />    <title>Adicionar Pacientes - Centro Medico</title>    
  4.                                    
  5.        
  6.     <script type="text/javascript" src="/cmedico/public/js/scripts.js"></script>    <link href="/cmedico/public/css/site.css" media="screen" rel="stylesheet" type="text/css" />    
  7. </head>

ese espacio en blanco bajo el title (lineas 5 y 6)deberia estar con las etiquetas script para incluir el jquery y el jquery ui pero no las imprime, eso me pasaba igual antes con la otra configuracion q tenia, por que puede pasar algo asi?
saludos
  #6 (permalink)  
Antiguo 11/05/2012, 15:48
Avatar de masterpuppet
Software Craftsman
 
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 3.550
Antigüedad: 11 años, 5 meses
Puntos: 845
Respuesta: problema con jquery y modulos en zend framework

No utilizo jQuery pero no tendrias que habilitarlo ?

Código HTML:
Ver original
  1. <?php
  2. ...
  3. $this->jQuery()->enable()
  4.                ->addStylesheet(/*/*/)
  5. ...
  6. ?>

Saludos.
__________________
http://es.phptherightway.com/
thats us riders :)
  #7 (permalink)  
Antiguo 11/05/2012, 15:57
 
Fecha de Ingreso: mayo-2012
Ubicación: La Paz
Mensajes: 23
Antigüedad: 7 años, 1 mes
Puntos: 0
Respuesta: problema con jquery y modulos en zend framework

Cita:
Iniciado por masterpuppet Ver Mensaje
No utilizo jQuery pero no tendrias que habilitarlo ?

Código HTML:
Ver original
  1. <?php
  2. ...
  3. $this->jQuery()->enable()
  4.                ->addStylesheet(/*/*/)
  5. ...
  6. ?>

Saludos.
siiii gracias amigo te lo agradezco un monton ahora si funciona bien
quedo algo parecido a esto a ver si a alguien le sirve luego

Código PHP:
Ver original
  1. <?php
  2. $this->headMeta()->appendHttpEquiv('Content-Type', 'text/html;charset=utf-8');
  3. $this->headTitle()->setSeparator(' - ');
  4. $this->headTitle('Centro Medico');
  5.  
  6. echo $this->doctype(); ?>
  7. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  8. <head>
  9.     <?php echo $this->headMeta(); ?>
  10.     <?php echo $this->headTitle(); ?>
  11.    
  12.     <?php
  13.     //para jquery
  14.     echo $this->jQuery()->enable()
  15.                                 ->uiEnable()
  16.                                 ->addStylesheet($this->baseUrl() . '/css/jquery-ui-1.8.17.custom.css') 
  17.                                 ->setLocalPath($this->baseUrl() . '/js/jquery.js')
  18.                                 ->setUiLocalPath($this->baseUrl() . '/js/jquery-ui-1.8.17.custom.min.js');
  19.     ?>
y ahora si me funciona bien tanto el jquery como el jquery ui, esto con modulos, lei q se habilitaban automaticamente al usar jQuery tan el jquery como el jquery ui, pero al parecer al trabajar con modulos es diferente
perdon por las molestias
y una vez mas gracias por el tiempo y la paciencia

Etiquetas: bootstrap, framework, jquery, layout, modulos, oop
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:56.