Лучший способ начать использовать jQuery в Платформе Зенда 1,9 приложения?

Самый легкий способ создать диалоговое окно мастера состоит в том, чтобы использовать одну из сторонних версий, доступных, которые обрабатывают все "сложные вещи" (навигация страницы, платформа UI, и т.д.) для Вас. Тот, который мне нравится большинство, от Divelements; у них есть и WinForms и версия WPF.

21
задан Grant Palin 5 May 2011 в 16:52
поделиться

6 ответов

Мне удалось заставить jQuery работать в моем проекте 1.9.4, выполнив следующие действия:

Шаг 1: Скопируйте каталог ZendX в каталог библиотеки . ZendX можно найти в каталоге extras / library загрузки Zend Framework.

Шаг 2: Загрузите jQuery и библиотеку пользовательского интерфейса jQuery с jqueryui.com . Я выбрал тему 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 в свой файл макета :

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

Шаг 6: Чтобы проверить, что все работает, добавьте эту строку к одному из ваших сценариев просмотра :

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

Теперь, если вы откроете эту страницу в своем браузере, должно быть текстовое поле. Вы должны иметь возможность щелкнуть текстовое поле, в котором автоматически появится календарь, стилизованный под тему «Легкость пользовательского интерфейса».

33
ответ дан 29 November 2019 в 06:35
поделиться

Одна маленькая ошибка :
Вам необходимо добавить папку 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 () должен находиться в файле layout , чтобы все страницы имели функциональность jquery. , фактический код jQuery должен идти в сам файл представления - application / views / scripts / yourcontroller / youraction.pthml - он не работает в макете только с этим простой код .

10
ответ дан 29 November 2019 в 06:35
поделиться

включить это в файл начальной загрузки 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 в файле представления ur: Выберите дату:

<?php echo $this->datePicker("dp1", '', array('defaultDate' => date('Y/m/d', time()))); ?>
2
ответ дан 29 November 2019 в 06:35
поделиться

Просто хотел добавить, что вы должны (или, по крайней мере, я должен) включить компоненты jquery и jquery в функции _initViewHelpers:

$view->jQuery()->enable()
            ->uiEnable();
6
ответ дан 29 November 2019 в 06:35
поделиться

Как user117640 печально,

мне пришлось включить jQuery и UI, это можно сделать в:

bootstrap :

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

controller::someAction :

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

view someAction.phtml:

//JQ enabled for particular view
<?php $this-jQuery()->enable()->uiEnable(); ?>
3
ответ дан 29 November 2019 в 06:35
поделиться

Решение ->

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

I просто переместил свой код с _initViewHelpers на _initView

, и у меня это работает.

8
ответ дан 29 November 2019 в 06:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: