Комментарии

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

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

<select  name="filter_published">onchange="this.form.submit ()">
<option value=""><?php echo JText::_(*JOPTION_SELECT_PUBLISHED');?></option>
<?php echo JHtml::_(' select. options' , JHtml::_ ('jgrid.publishedOptions') , * value' , ' text' ,"*>$this->state->get (' filter. state') , true) ; ?>
</select>

В этом фрагменте кода создается элемент 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.

<select onchange="this.form.submit()" name="filter_published">
<option value=""> —  Select  Status  —  </option>
<option value="1">Published</option> 
<option value="0">Unpublished</option>
<option value="2">Archived</option>
<option value="-2">Trashed</option>
<option value="*">All</option> </select>

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

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

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

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


 
Похожие новости
Добавить комментарий


Защитный код