Возврат объекта Zend Paginator в запрос AJAX, получение неправильного URL - PullRequest
3 голосов
/ 12 апреля 2011

Я использую Zend Paginator здесь, в запросе ajax я получаю объекты на основе результатов поиска и отрисовки HTML-кода и передаю его вместе с визуализированным представлением Zend Paginator.

Проблема в том, что возвращающийся пагинатор не учитывает новый URL. например, если бы я делал это без ajax, я бы прочитал URL своей страницы:

www.mysite.com /? Поиск = что-то и страница = 2

Однако из запроса и ajax он не работает, поэтому переменная поиска не добавляется к URL в ссылках на страницы. Помогите пожалуйста.

Ответы [ 2 ]

0 голосов
/ 20 апреля 2011

Не видя ваш код, я не могу быть уверен, но похоже, что ваши сценарии просмотра элементов управления Paginator (то есть файлы .phtml, которые отображают ссылки Next, Previous и т. Д.) Используют $this->url(), но у вас нет 't настроил его на обнаружение и добавление параметра поиска в конец ссылок.

Если ваши скрипты управляющего представления специфичны для этого Paginator, попробуйте вручную добавить «? search = кое-что» в тег * <a>.параметр href.Это должно заставить его включить их в вывод.

Было бы замечательно, если бы вы могли предоставить нам код из вашего контроллера и представления, показывающего, как вы реализуете Paginator и рендеринг страниц.Или живая демоверсия всегда хороша: D

0 голосов
/ 12 апреля 2011

Я предполагаю, что у вас есть ссылки на страницы где-то на вашем сайте, которые указывают на различные страницы, которые создаются в вашем файле pagination.phtml .

OnClick вам нужночтобы получить этот атрибут href и загрузить содержимое следующим образом:

function getContents() {
    var url = window.location.protocol + "//" + 
              window.location.host + $(this).attr('href');

    var jqxhr = $.post(url, {
        "format" : "json"
    }, function(data) {
        displayContents(data);
    }, 'html');
    return false;
} 

$(document).ready(function() {
    $("#paginator a").each(function() {
        $(this).click(getContents);
    });
});

Таким образом, вы получите свой классический URL

www.mysite.com/?search=something&page=2

, возможно, вам нужно изменить URLполе.Просто предупредите поле URL и посмотрите, что нужно изменить.

Вот учебник по этому вопросу (без поиска): Zend Framework 1.9, учебник 14: ajax запрашивает часть 1

...