Как использовать объект DataTables jQuery с ZendX_jQuery - PullRequest
0 голосов
/ 03 сентября 2010

Я пытаюсь использовать 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, объект datatables отображается нормально. Однако, если у меня нет объекта, таблица не будет отображаться.

Примеры:

Данные работают из-за даты:

<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 в заголовок. Есть ли способ заставить это сделать это? Мне не нравится объявлять файл сценария пользовательского интерфейса дважды, чтобы убедиться, что каждая страница его получает.

Спасибо,

Джо Чин

1 Ответ

0 голосов
/ 12 сентября 2010

Вы должны включить его самостоятельно, в противном случае это делается внутренне.

Чтобы получить доступ к JavaScript, мы должны использовать функциональность jQuery (). Оба помощника уже активировали свои зависимости, которые они назвали jQuery () -> enable () и jQuery () -> uiEnable () [...]

Источник

Это относится к помощнику представления для jQuery, поэтому $this->view->jQuery()->enable() в действии контроллеров или $this->jQuery()->enable() в представлении.

...