AJAX реализация в Zend - PullRequest
       3

AJAX реализация в Zend

0 голосов
/ 17 марта 2011

Я хочу реализовать функциональность ajax в работе с Zend Frame.Поэтому, пожалуйста, попробуйте дать мне один простой пример.

Ответы [ 2 ]

0 голосов
/ 25 марта 2011

В мой Bootstrap.php

protected function _initJQuery()
{
    $this->bootstrap('view');
    $view = $this->getResource('view');
    ZendX_JQuery::enableView($view);
    $viewRenderer = new Zend_Controller_Action_Helper_ViewRenderer();
    $viewRenderer->setView($view);
    Zend_Controller_Action_HelperBroker::addHelper($viewRenderer);
    $view->jQuery()->setRenderMode(ZendX_JQuery::RENDER_JAVASCRIPT | ZendX_JQuery::RENDER_JQUERY_ON_LOAD);
}

как видите, вам нужен ZendX в ваша библиотека

в Layout.phtml в

echo $this->headScript()->appendFile('/js/jquery-1.4.4.min.js')
        ->appendFile('/js/jquery-ui-1.8.10.custom.min.js'); ?>

и JQuery будет доступен повсюду, где вы должны ожидать ответ Ajax, как я:

private function noLayout() {
    $viewRenderer = Zend_Controller_Action_HelperBroker::getStaticHelper('viewRenderer');
    $viewRenderer->setNoRender();
    Zend_Layout::getMvcInstance()->disableLayout();
}

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

public function listAction() {
    $this->noLayout();
        echo json_encode(array('success' => TRUE));
}

Это "мой путь", дайте мне знать, если вы найдете что-то "лучше" или просто другое

0 голосов
/ 25 марта 2011

Ну, есть два способа использования ajax в проекте Zend Framework.Убедитесь, что в вашей папке библиотеки ZendX .Это поможет вам работать с ajax.

Первый и самый простой способ - использовать его, как и в любом другом веб-проекте.Скопируйте все свои файлы java-скрипта в папку /public/js/.

В моем проекте я использую jQuery .Итак, в вашей функции _initViewHelpers вы должны включить jQuery:

ZendX_JQuery::enableView($view);

В вашем скрипте макета вы можете сделать это:

if ($this->jQuery()->isEnabled()){
    $this->jQuery()->setLocalPath($this->baseUrl ().
                            '/js/jquery/jquery.min.1.4.4.js')
    echo $this->jQuery()->uiEnable();
}

и в любом скрипте вида это:

$this->jQuery ()->enable ()->addJavascriptFile ( $this->baseUrl () .
                                                '/js/frontend.js' )

Другой способ - позволить Zend создать функции ajax.Посмотрите это КАК , с самого начала показано, как использовать ajax в проектах Zend Framework.

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