Intereting Posts
Как программно отобразить карту Get Locations? Плагин Colorbox установлен, но отчет о статусе не распознает его Добавление настраиваемого содержимого в боковую панель на странице редактирования узла раздела администратора В PHPUnitTest отсутствует файловая таблица? Модуль для доставки Fedex для Drupal 7 Создайте простой формат даты, который будет использоваться в представлениях Изменение содержимого панировочных сухарей Доступ запрещен, когда сам вопрос викторины просмотра Как контролировать количество полей группы управления полем_группы Перенос настраиваемого типа контента с D6 на D7 Кнопки CKEditor исчезли из структуры / страниц / пользовательского содержимого Как я могу отправить полное поле тела контента с помощью simplenews_content_selection? Как расширить плагин таблицы? Таблица одиночных пользователей для нескольких сайтов Drupal Как скрыть заголовок на пользовательской странице, сделанной с помощью hook_menu?

Есть ли способ передать много аргументов и не иметь уродливого URL-адреса?

Я пишу модуль, который отображает графики на основе выбора аргументов (массив с элементами для отображения, daterange и некоторые другие вещи). Это приводит к длинному и уродливому URL-адресу.

Есть ли способ получить аргументы на странице с графиками, не помещая все в URL-адрес этой страницы? Я ищу что-то, что может содержать временные переменные с короткой ссылкой, которую я могу передать в URL-адресе, но ничего не смог найти.

Я использую Drupal 7.

Solutions Collecting From Web of "Есть ли способ передать много аргументов и не иметь уродливого URL-адреса?"

Вы можете использовать отправку формы или файлы cookie для хранения значений, но ни одна из них не является хорошей идеей.

Я бы рекомендовал (если вам не нравится URL-адрес), используя AJAX для извлечения / обновления графика. У вас все еще есть уродливый url, но вы скрываете его внутри запроса ajax.

Таким образом, ваш модуль отображает

/мой путь

но запрос может быть

/ MyModule / displaygraph / х / а / 32432 / с ///

Решение оказалось простым: поместите URL-адреса с индексом в сеанс, передайте индекс в качестве аргумента на следующую страницу и после этого снова найдите URL-адрес в сеансе.