0

我正在尝试将 ZendX_jQuery 和 Datatables 用于项目。在我的布局文件中,我有:

  if($this->jQuery()->isEnabled()){
   $this->jQuery()->setLocalPath('/js/jquery/js/jquery-1.4.2.min.js')
    ->setUiLocalPath('/js/jquery/js/jquery-ui-1.8.4.custom.min.js')
    ->addStylesheet('/css/smoothness/custom.css')
    ->addJavascriptFile('/js/jquery.dataTables.js');
   echo $this->jQuery();
  }

每当我使用 ZendX 帮助器渲染对象时,数据表对象就会渲染得很好。但是,如果我没有对象,那么表格将不会呈现。

例子:

由于日期选择器而工作的数据表:

<link rel="stylesheet" href="/css/smoothness/custom.css" type="text/css" media="screen" />
<script type="text/javascript" src="/js/jquery/js/jquery-1.4.2.min.js"></script>
<script type="text/javascript" src="/js/jquery/js/jquery-ui-1.8.4.custom.min.js"></script> 
<script type="text/javascript" src="/js/jquery.dataTables.js"></script>

数据表因没有日期选择器而损坏:

<link rel="stylesheet" href="/css/smoothness/custom.css" type="text/css" media="screen" /> 
<script type="text/javascript" src="/js/jquery/js/jquery-1.4.2.min.js"></script> 
<script type="text/javascript" src="/js/jquery.dataTables.js"></script> 

这里明显的区别是没有其他 jQuery 对象,ZendX 不会将 jQuery UI 文件放在头文件中。有没有办法强迫它这样做?我不喜欢必须两次声明 UI 脚本文件以确保每个页面都能得到它。

谢谢,

乔钦

4

1 回答 1

0

您必须自己启用它,否则在内部完成。

要访问 javascript,我们必须使用 jQuery() 功能。两个助手都已经激活了他们的依赖项,即他们调用了 jQuery()->enable()jQuery()->uiEnable() [...]

来源

那是指 jQuery 的视图助手,所以它$this->view->jQuery()->enable()在控制器操作或$this->jQuery()->enable()视图中。

于 2010-09-12T16:03:11.790 回答