Комментарии

Списки выбора фильтров в Joomla 2.5
( 0 Голосов )

В части В рассматриваемой здесь экранной формы содержатся четыре списка для выбора фильтров. Они дают пользователю возможность отфильтровать список веб-ссылок, исходя из состояния "опубликовано" категории, уровня доступа и выбранного языка. Ниже приведен код компоновки списка фильтров состояний.

onchange="this.form.submit ()">

$this->state->get (' filter. state') , true) ; ?>

В этом фрагменте кода создается элемент select разметки HTML-формы. Его первый атрибут option принимает пустое строковое значение " ", а также текст перевода метки на текущий язык по ключу JOPTION_SELECT_PUBLISHED. Затем в выделенной полужирным строке кода вызывается метод. Рассмотрим эту строку кода подробнее. В данном примере из метода JHtml::_ ('select. options',...) вызывается метод JHtmlSelect::options(), а из метода JHtml::_('jgrid.publishedOptions') — метод JHtml JGrid:: publishedOptions (). Напомним, что дополнительные аргументы, указываемые после первого аргумента, передаются методу как таковые. В данной строке кода вызывается метод JHtmlSelect: :options (). Этот метод составляет список элементов выбора по списку атрибутов из элемента select разметки HTML-формы. В качестве пяти аргументов этому методу передается следующее.

Массив значений. Устанавливается в результате выполнения метода JHtmlJGrid: :publishedOptions () и представляет собой массив объектов для каждого возможного состояния "опубликовано" (1 — "опубликовано" 0 — "снято с публикации", 2 — "архивировано", -2 — "удалено в корзину" и * — все прочее).

  • Имя переменной ссылки на объект. Устанавливается равным "value".
  • Имя текстовой метки варианта выбора. Устанавливается равным "text".
  • Выбранное значение. Устанавливается равным $this->state->get (' f ilter_ state') (т.е. выбранному в данный момент состоянию "опубликовано").
  • Логическое значение, определяющее, следует ли переводить текст и метки. Устанавливается равным логическому значению true.

В результате выполнения этого фрагмента кода генерируется приведенный ниже исходный код элемента select для разметки списка, который можно увидеть при просмотре веб-страницы в исходном коде HTML.

Код разметки, выделенный выше полужирным, генерируется методом JHtmlSelect:: options (). В атрибуте onchange установлено значение "this.form, submit ()", поэтому страница автоматически перезагружается всякий раз, когда это значение изменяется, причем для выбора отдельных элементов состояния используется новое значение фильтра.

Каждый фильтр устанавливается в форме одинаково, а для составления списка возможных вариантов выбора в соответствии с разметкой в элементе select используются разные методы из классов, производных от класса JHtml.

  • Метод JHtmlCategory:: options (). Составляет список категорий.
  • Метод JHtmlAccess:: assetgroups (). Составляет список уровней доступа.
  • Метод JHtmlContentLanguage::existing(). Составляет список доступных языков.

Понравился материал? Пригодилась информация? Плюсани в социалки!


Теги:
 
Похожие новости