Actualización: esta pregunta se refiere a una más vieja versión de Zend Framework. A ver cómo integrar jQuery con Zend Framework 1.9.4 (1.8+) de la aplicación se refieren a esta pregunta.


Creo entender los conceptos básicos, pero me debe estar pasando mal en algún lugar. Estoy tratando de integrar jQuery, jQuery UI, y con Temas de jQuery en mi Zend Framework de la aplicación.

En mis manos a la obra, estoy registrar el jQuery view helper:

$view->addHelperPath(self::$root . '/library/ZendX/JQuery/View/Helper/', 'ZendX_JQuery_View_Helper');

En mi formulario tengo un selector de fecha elemento:

$date = new ZendX_JQuery_Form_Element_DatePicker('date');

Y en mi presentación, voy a llamar a jQuery view helper:

<head>
    <?= $this->jQuery() ?>
</head>

Una vez que he hecho eso, yo realmente puede utilizar el selector de fecha. El único problema es que el calendario es totalmente jodido. No se muestra correctamente en todos.

De lo que yo entiendo, los archivos javascript se incluye de forma automática (y alojados por Google). Así que para utilizar diferentes temas (de ThemeRoller) tiene para alojar los archivos js y css en tu propio servidor. Qué proceso debo ir a través con el fin de obtener mi selector de fecha para mostrar un tema diferente?

Actualización: yo tengo que trabajar por hacer esto. Pero no estoy seguro de si esta es la manera más eficaz.

<head>
<? //I couldn't get this way to work
   //$this->jQuery()->addStylesheet('http://ajax.googleapis.com/ajax/libs/jqueryui/1.7/themes/smoothness/jquery-ui.css');
   //But this way works
   $this->jQuery()->addStylesheet('/js/jquery/themes/ui-lightness/jquery-ui-1.7.1.custom.css')
              ->setLocalPath('/js/jquery/js/jquery-1.3.2.min.js')
              ->setUiLocalPath('/js/jquery/js/jquery-ui-1.7.1.custom.min.js') ?>
    <?= $this->jQuery() ?>
</head>
InformationsquelleAutor Andrew | 2009-04-14

3 Comentarios

  1. 3

    El uso de la ZendX_JQuery_View_Helper_JQuery view helper (por supuesto, también puede inscribirse en la hoja de estilos con el Zend_View_Helper_HeadStyle ayudante de vista, pero utilizando jQuery view helper se asegurará de que la hoja de estilos es sólo cuando jQuery está habilitada) se pueden registrar en una hoja de estilos sirve desde el CDN de Google:

    $view->jQuery()->addStylesheet('http://ajax.googleapis.com/ajax/libs/jqueryui/1.7/themes/smoothness/jquery-ui.css');

    suavidad es el nombre del tema de acuerdo a la jQuery UI ThemeRoller galería. Ver jQuery UI 1.7.1 liberación announcment blog para más el tema de las urls.

    Por cierto, me gustaría sugerir a jQuery-habilitar la vista mediante el uso de ZendX_JQuery::enableView($view). Yo, personalmente, creo que esto es mucho más evidente en el enfoque.

    • ¿qué ZendX_JQuery::enableView () ¿? Es que algo diferente a lo que añadir el ayudante de vista de la ruta a la vista?
    • En el momento en que: no. Se comprueba si el camino ya está registrado y se registra la ruta de acceso si no. Pero es menos que el código de tipo y todo el mundo mirando el código puede imaginar lo que esta línea está haciendo. Es realmente sólo una cuestión de preferencia.
    • Humm – parece listado de directorio está deshabilitado en este recurso url ‘ajax.googleapis.com/ajax/libs/jqueryui/1.7/themes‘ hay una forma para obtener una lista de todos los temas que están disponibles?
    • Ver aquí: blog.jqueryui.com/2009/03/jquery-ui-171 de Google Ajax Libraries API > Temas (los temas disponibles son el estándar en la ThemeRoller galería: jqueryui.com/themeroller)
    • ¿Cómo puedo establecer el atributo media a través de los zend API? Necesito ser capaz de definir una impresión.css y garantizar la media=»print» atributo se establece en la final renderizado de html. e.g <link href=»blah.css» type=»text/css» media=»print»/>
  2. 0

    Creo que usted necesita para descargar el jquery ui los archivos css. Extraer los archivos css de la cremallera y hacerlos disponibles a nivel local dentro de su zend aplicación. He añadido los archivos para ‘[Your_zend_project_root]\public\js\’. En su diseño.phtml el uso del archivo de la ‘addStylesheet()’ método para agregar las rutas de acceso a los locales de los archivos css. Usted necesita cambiar la ruta de acceso específica para el nombre del tema seleccionado.

    <?php echo $this->jQuery()
        ->setUiVersion('1.7.2')
        ->addStylesheet('/js/jquery-ui-1.7.2/development-bundle/themes/ui-lightness/jquery-ui-1.7.2.custom.css');?>
  3. 0

    Si usted está utilizando el CDN de Google, sólo tienes que alojar el .los archivos css en tu propio servidor. No sé si ZendX_Jquery que utiliza. Y eso sería todo para que funcione.

Dejar respuesta

Please enter your comment!
Please enter your name here