Ищем ссылки на обновление Zend Framework AJAX таблицы - PullRequest
0 голосов
/ 27 марта 2011

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

То, что я хочу сделать, - это иметь страницу, на которой мои пользователи могут искать клиентов, хранящихся в базе данных, и результаты возвращать через таблицу. Я знаю, как сделать это в традиционной форме -> post -> способом страницы результатов, но я хотел бы реализовать следующее:

  1. Имеют два или более комбинированных поля автозаполнения Dojo, в которые пользователь может вводить критерии поиска (я нашел примеры этого в Интернете и должен быть в порядке, реализуя это.)

  2. Использовать текст, введенный в запрос таблицы клиентов в БД.

  3. Возвращать результаты в таблице на той же странице без необходимости перенаправления, и, если возможно, сделать так, чтобы таблица обновляла результаты по мере того, как пользователь вводит данные в поля со списком. например, если пользователь вводит "Fa", например, таблица будет иметь «Фаррелл «Фейган» «Фаррелли» Поскольку пользователь продолжает печатать, например, «Far», таблица будет иметь «Фаррелл» "Фаррелли"

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

Может ли кто-нибудь предоставить ссылки на учебные пособия / примеры того, как это сделать в Zend Framework. Я знаю, что код - это то, о чем нужно просить, но если кто-то чувствует себя щедрым, продолжайте. На всякий случай, если это имеет значение, я использую Doctrine ORM для управления моими моделями.

Заранее спасибо за любые ответы.

Graham

1 Ответ

1 голос
/ 28 марта 2011

Основная суть заключается в следующем ...

  1. С помощью помощника AjaxContext добавьте контекст html к своему действию.
  2. Переместите разметку таблицы в .ajax.phtml и замените его в обычном режиме на render call

Пример

<?php echo $this->render('controller-name/action-name.ajax.phtml') ?>
  1. Добавьте обработчики событий JavaScript на страницу.При запросе содержимого AJAX добавьте к запросу параметр format=html.Это вызовет помощника AjaxContext, который вернет только разметку таблицы, которую вы можете затем вставить на страницу.

Самое приятное в этом подходе - это то, что он изящно ухудшается.Если JavaScript отключен или недоступен, страница возвращается к старому шаблону -> post -> results .


Посмотрите на мой пост AJAX для некоторых страницуказатели - http://blog.philipbrown.id.au/2011/03/awesome-pagination-with-zf-paginator-ajaxcontext-and-the-html5-history-api/

При этом параметр page используется так же, как вы хотите использовать критерии поиска, поэтому он должен использоваться в качестве базовой ссылки.

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