当前位置:  开发笔记 > 编程语言 > 正文

在Zend Framework 1.9应用程序中开始使用jQuery的最佳方法?

如何解决《在ZendFramework1.9应用程序中开始使用jQuery的最佳方法?》经验,为你挑选了4个好方法。

我想在我的Zend Framework应用程序中开始使用jQuery,但不确定哪种是最好的入门方式.我知道我可以像任何其他javascript库一样包含jQuery库,但是使用ZendX_JQuery有什么好处,在Zend Framework 1.9应用程序中开始使用它需要哪些步骤?



1> Andrew..:

通过以下步骤,我能够在我的1.9.4项目中运行jQuery:

步骤1:将ZendX目录复制到目录.ZendX可以在Zend Framework下载的extras/library目录中找到.

第2步:从jqueryui.com下载jQuery和jQuery UI库.我选择了UI Lightness主题.

步骤3:解压缩下载并将jquery-ui-1.7.2重命名为jquery并移至public/js目录.

第4步:将这些行添加到引导程序文件中:

protected function _initViewHelpers()
{
    $view->addHelperPath("ZendX/JQuery/View/Helper", "ZendX_JQuery_View_Helper");
    $view->jQuery()->addStylesheet('/js/jquery/css/ui-lightness/jquery-ui-1.7.2.custom.css')
        ->setLocalPath('/js/jquery/js/jquery-1.3.2.min.js')
        ->setUiLocalPath('/js/jquery/js/jquery-ui-1.7.2.custom.min.js');
}

第5步:现在将jQuery视图助手添加到布局文件中:


    jQuery(); ?>

步骤6:要测试一切是否正常,请将此行添加到您的一个视图脚本中:

Pick your Date: datePicker("dp1", '', array('defaultDate' => date('Y/m/d', time()))); ?>

现在,如果您在浏览器中打开此页面,则应该有一个文本字段.您应该能够单击文本字段,该字段会自动弹出已设置为UI Lightness主题样式的日历.



2> namespacefor..:

一个小问题:
你必须将ZendX文件夹添加到你的目录 - 也是你的Zend目录.

[your/lib/path]
|
+-Zend
|  |
|  +-(the full thing)
|
+-ZendX
|  |
|  +-JQuery, Db, Console, ...

如果您错过将ZendX添加到目录中,则会收到大量错误消息,如下所示:

Fatal error:  Uncaught exception 'Zend_Loader_PluginLoader_Exception'  
with message 'Plugin by name 'JQuery' was not found in the registry; 
used paths: ZendX_JQuery_View_Helper_: ZendX/JQuery/View/Helper/
Zend_View_Helper_: Zend/View/Helper/: .....

另一个小问题:
在上面安德鲁提供的代码中,请注意突出显示的重要单词:

Now add the jQuery view helper to your layout file:

    jQuery(); ?>


To test that you have everything working, add this line to one of your view scripts:  

Pick your Date: datePicker("dp1", ..... 

虽然$this->jQuery()必须进入布局文件以便所有页面都获得jquery功能,但实际的jQuery代码必须转到视图文件本身application/views/scripts/yourcontroller/youraction.pthml- 它只在这个简单代码的布局中不起作用.





3> 小智..:

解决方案是 - >

protected function _initView()
{
    $view = new Zend_View();
    $view->doctype('XHTML1_STRICT');
    $view->headMeta()->appendHttpEquiv('Content-Type', 'text/html;charset=utf-8');
    $view->headTitle()->setSeparator(' - ');
    $view->headTitle('IMR - BI System');
    $view->env = APPLICATION_ENV;
    $view->baseUrl = Zend_Registry::get('config')->root_path;

    $view->addHelperPath("ZendX/JQuery/View/Helper", "ZendX_JQuery_View_Helper");
    $view->jQuery()->addStylesheet($view->baseUrl . '/js/jquery/css/south-street/jquery-ui-1.8.2.custom.css');
    $view->jQuery()->setLocalPath($view->baseUrl . '/js/jquery/js/jquery-1.4.2.min.js');
    $view->jQuery()->setUiLocalPath($view->baseUrl .'/js/jquery/js/jquery-ui-1.8.2.custom.min.js');
    $view->jQuery()->enable();
    $view->jQuery()->uiEnable();
    $viewRenderer = new Zend_Controller_Action_Helper_ViewRenderer();
    $viewRenderer->setView($view);
    Zend_Controller_Action_HelperBroker::addHelper($viewRenderer);

    return $view;
}

我只是将我的代码从_initViewHelpers转移到_initView

它对我有用.



4> 小智..:

只想添加你必须(或至少我必须)在_initViewHelpers函数中启用jquery和jquery组件:

$view->jQuery()->enable()
            ->uiEnable();


通过在Bootstrap中启用jQuery,您将在每个页面中包含jQuery javascript(无论是否需要包含它).通过使用jQuery表单元素(例如)它自动启用jQuery,并包含必要的javascript.在您需要时仅包含它可能更有效,但这取决于您.您可能决定要在每个页面上包含jQuery.
推荐阅读
可爱的天使keven_464
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有