У меня есть интерфейс / платежей, где пользователь должен иметь возможность фильтровать через диапазон цен, банк и другие вещи. Эти фильтры являются стандартными полями выбора. Когда я отправляю форму фильтра, все данные публикации отправляются в другой метод, называемый платежами / поиском. Этот метод выполняет проверку, сохраняет значения записей в флэш-данные сеанса и перенаправляет пользователя обратно в / Payment, передавая имя флэш-данных через URL.
Так что мои стандартные пагинационные ссылки без фильтров в точности такие:
payments/index/20/
payments/index/40/
payments/index/60/
И если вы отправите форму фильтра, URL-адрес будет возвращен:
payments/index/0/b48c7cbd5489129a337b0a24f830fd93
Это прекрасно работает. Если я заменяю ноль на что-то другое, он прекрасно разбирается. Однако единственная проблема заключается в том, что ссылки на страницы << 1 2 3 4 >> не сохранят хэш после смещения нумерации страниц. CodeIgniter генерирует ссылки на страницы, игнорируя этот дополнительный сегмент URI.
Моя конфигурация uri_segment уже установлена на 3:
$config['uri_segment'] = 3;
Я не могу установить uri_segment в 4, потому что этот хэш может существовать или не существовать. Любые идеи о том, как я могу решить это? Обязательно ли для CI иметь смещение в качестве последнего сегмента в URI? Может быть, я пытаюсь неправильный подход, поэтому я все уши.
Спасибо, ребята.
edit: Почему я передаю имя flashdata через uri, который вы можете спросить? потому что это позволяет пользователю открывать несколько вкладок браузера и делать разные поиски в каждой вкладке. Для каждой выполняемой фильтрации создается новая переменная flashdata.