Интеграция тем jQuery, jQuery UI и jQuery с Zend Framework - PullRequest
2 голосов
/ 14 апреля 2009

Обновление: этот вопрос относится к более старой версии Zend Framework. Чтобы узнать, как интегрировать jQuery с приложением Zend Framework 1.9.4 (1.8+) , обратитесь к этому вопросу .


Я думаю, что понимаю основные понятия, но я где-то ошибаюсь. Я пытаюсь интегрировать темы jQuery, jQuery UI и jQuery в мое приложение Zend Framework.

В моем загрузчике я регистрирую помощника вида jQuery:

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

В моей форме есть элемент выбора даты:

$date = new ZendX_JQuery_Form_Element_DatePicker('date');

И в моем макете я вызываю помощника вида jQuery:

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

Как только я это сделаю, я действительно смогу использовать средство выбора даты. Единственная проблема в том, что календарь полностью облажался. Он не отображается правильно вообще.

Насколько я понимаю, файлы javascript автоматически включаются (и размещаются в Google). Таким образом, чтобы использовать разные темы (от ThemeRoller ), вам нужно разместить файлы js и css на вашем собственном сервере. Какой процесс мне нужно пройти, чтобы мой сборщик дат отображал другую тему?

Обновление: Я получил это, сделав это. Но я не уверен, что это самый эффективный способ.

<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>

Ответы [ 3 ]

3 голосов
/ 15 апреля 2009

Используя помощник вида ZendX_JQuery_View_Helper_JQuery (конечно, вы можете зарегистрировать таблицу стилей с помощью помощника вида Zend_View_Helper_HeadStyle, но использование помощника вида jQuery обеспечит включение таблицы стилей только при включенном jQuery), вы можете зарегистрировать таблица стилей подается из Google CDN:

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

плавность - название темы в соответствии с галереей jQuery UI ThemeRoller . См. сообщение о выпуске jQuery UI 1.7.1 в блоге для получения дополнительных URL-адресов тем.

Кстати, я бы предложил включить jQuery-представление, используя ZendX_JQuery::enableView($view). Я лично думаю, что это гораздо более очевидный подход.

0 голосов
/ 19 июля 2009

Я думаю, вам нужно скачать jquery ui css файлы. Извлеките файлы CSS из почтового индекса и сделайте их доступными локально в вашем приложении Zend. Я добавил файлы в '[Your_zend_project_root] \ public \ js \'. В вашем файле layout.phtml используйте метод addStylesheet (), чтобы добавить пути к локальным файлам CSS. Вам нужно изменить конкретный путь для выбранной вами темы.

<?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');?>
0 голосов
/ 14 апреля 2009

Если вы используете Google CDN, вам просто нужно разместить файлы .css на вашем собственном сервере. Я не знаю, использует ли ZendX_Jquery это. И это должно быть все, чтобы это заработало. Можете ли вы поделиться большим кодом (например, исходным кодом отображаемой страницы), если мой ответ вам не поможет?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...