最好的方式开始在Zend框架1.9的应用程序使用jQuery?(Best way to start

2019-08-31 22:02发布

我想开始使用jQuery在我的Zend Framework的应用程序,但不知道这是开始的最好方式。 我知道我可以包括jQuery库,就像任何其他JavaScript库,但什么是使用ZendX_JQuery的优势,什么是我的Zend Framework 1.9的应用程序需要开始使用它的步骤是什么?

Answer 1:

我可以通过以下步骤来获得的jQuery在我的1.9.4项目的工作:

步骤1:将ZendX目录复制到目录。 ZendX可以在你的Zend框架下载的额外/库目录中找到。

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

第3步:解压缩下载和jQuery-UI-1.7.2重命名为jQuery和移动到公共/ 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视图助手到您的布局文件:

<head>
    <?php echo $this->jQuery(); ?>
</head>

第6步:测试你所拥有的一切工作,该行添加到您的视图脚本

Pick your Date: <?php echo $this->datePicker("dp1", '', array('defaultDate' => date('Y/m/d', time()))); ?>

现在,如果你在浏览器中打开这个页面,应该有一个文本字段。 你应该能够点击文本字段,它会自动弹出已风格的UI主题亮度日历。



Answer 2:

一个小疑难杂症
你必须在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:
<head>
    <? php echo $this->jQuery(); ?>
</head>

To test that you have everything working, add this line to one of your view scripts:  
<code>
Pick your Date: <?php echo $this->datePicker("dp1", ..... 
</code>

虽然$this->jQuery()必须在布局文件,使所有网页获得的jQuery的功能,实际的jQuery代码必须去查看文件本身- application/views/scripts/yourcontroller/youraction.pthml - 这是行不通的在如此简单的代码布局



Answer 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

它为我工作。



Answer 4:

只是想补充一点,你必须(或至少我不得不)能够在_initViewHelpers功能的jQuery和jQuery的组成部分:

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


Answer 5:

作为user117640伤心,

我不得不启用了jQuery和UI,它可以这样做:

引导:

//it will enable for all views
$view->jQuery()->enable()->uiEnable();

控制器:: someAction:

//JQ enabled for particular view)
$this->view->jQuery()->enable()->uiEnable();

查看someAction.phtml:

//JQ enabled for particular view
<?php $this-jQuery()->enable()->uiEnable(); ?>


Answer 6:

包括这UR引导文件

$view->addHelperPath("ZendX/JQuery/View/Helper", "ZendX_JQuery_View_Helper");
$view->jQuery()->addStylesheet('/Your Public Path/js/jquery/css/ui-lightness/jquery-ui-1.7.2.custom.css')
               ->setLocalPath('/Your Public Path/js/jquery/js/jquery-1.3.2.min.js')
               ->setUiLocalPath('/Your Public Path/js/jquery/js/jquery-ui-1.7.2.custom.min.js');

这种加入UR布局

<head>
    <?php echo $this->jQuery(); ?>
</head>

在乌拉圭回合视图文件使用jQuery UI的功能:选择您的日期:

<?php echo $this->datePicker("dp1", '', array('defaultDate' => date('Y/m/d', time()))); ?>


文章来源: Best way to start using jQuery in a Zend Framework 1.9 application?