У меня есть приложение, созданное с использованием Zend Framework.Я решил пойти с JQuery вместо Dojo.Я использую помощники ZendX для таких вещей, как ajaxLinks и dialogContainers.Я хочу попробовать сделать графический интерфейс как AJAX, насколько это возможно.Но я борюсь с выбором того, что я считаю лучшим подходом.В большинстве случаев речь идет о загрузке «страницы» в dialogContainer, а не о перезагрузке всей страницы.Так, например, вы получаете диалоговое окно, содержащее форму для изменения некоторых пользовательских данных или чего-то подобного.
Сначала я вернул всю страницу, но если она запрашивалась с помощью запроса AJAX, он использовал другой шаблон макета, чтобы избежатьвсе непонятные javascript-включения и т. д. Это позволило мне создать одну версию страницы, которая в основном была бы доступна для просмотра, как обычно, И через AJAX.Но я не убедил себя, что мне это нравится.Глядя на графический интерфейс Zend Server, они, похоже, делают это, но не возвращают данные, закодированные в json, и строят страницу из этого.
Каков наилучший подход для этого и как я должен обрабатывать JavaScript, специфичный для извлеченныхстраница?Теперь у меня есть весь специфичный для страницы javascript в файле phtml этой страницы.
Еще одна вещь, которая меня беспокоит, - как отслеживать ресурсы, создаваемые при открытии большого количества диалоговых контейнеров и заполнении их через ajax,Допустим, мы открываем одно диалоговое окно и получаем список элементов.Если мы щелкнем еще одно модальное диалоговое окно контейнера всплывающего окна для этого конкретного элемента и заполняется через ajaxНо если главная страница никогда не перезагружается, я вижу, что с этим становится трудно справиться.
Такое ощущение, что я не могу быть первым, кто хочет создать пользовательский интерфейс, управляемый ajax, поэтому, пожалуйста, покажите мне правильное направление, прежде чем янарисовать себя в углу.;)
Обновление: я в основном пробовал все виды учебников, которые я мог найти по теме контекста, а также по документации в Zend.Я думаю, что я, должно быть, пропустил, чтобы включить некоторые недокументированные функции или что-то.Так как это не сработало, я удалил код, но, пытаясь найти примеры, на которые я смотрел, прежде чем я попробовал что-то вроде нижеприведенного кода.
$ajaxContext = $this->_helper->getHelper('AjaxContext');
$ajaxContext->addActionContext('list', 'html')
->addActionContext('modify', 'html')
->initContext();
И я попробовал что-то вроде следующего
$this->_helper->contextSwitch()
->setContext('html', array(
'suffix' => 'html',
'headers' => array('Content-Type' => 'text/html; Charset=UTF-8'),
)
)
->addActionContext('index', array('html','xml', 'json'))
->setAutoJsonSerialization(true)
->initContext();
Я пытался добавить другие ActionContexts и т. Д., Но независимо от того, что все они просто заканчивали рендерингом нормального файла .phtml все время.