Креатив
Верный ход
Качество
Надёжность

Во время установки Joomla!, мы посылаем URI (Uniform Resource Indicators - Однородные Индикаторы Ресурса). полностью упакованные полезные данные запроса. Прежде чем мы углубимся в данные и их использование, на следующей диаграмме будут описаны различные части URI:

Элемент запроса - это часть URI, от которого мы получаем данные. Запрос данных состоит из серии пар ключ-значение разделенных амперсандом.

Первое значение запроса мы будем рассматривать как option. Это значение определяет какой компонент будет запрашиваться. Имя компонента всегда начинается с com_. В следующем примере мы получаем доступ к компоненту с именем example:

http://www.example.org/joomla/index.php?option=com_example

Меню - это основное средство, с помощью которого пользователи имеют доступ к навигации Joomla!. Меню состоит из ряда пунктов меню, каждый из которых определяет связь (с внутренним) компонентом или (внешние) URI. Мы можем также изменять пункты меню, изменяя параметры, характерные для данного компонента, и назначение шаблонов для них.

Уникальный идентификатор (ID) идентифицирует каждый пункт меню. ID позволяет ссылаться на компонент без использования запроса значения параметра. Вместо этого, мы можем использовать значение Itemid запроса. Это значение также является вторичной целью; когда ID пункта меню известно, пункт меню может быть выдвинут на первый план, и любые подпункты меню показаны (в зависимости от точной настройки установки). В этом примере мы вызываем пункт меню 1:

http://www.example.org/joomla/index.php?Itemid=1

Некоторые компоненты могут выводить данные в различных форматах. Если мы хотим выводить данные в другом формате, мы можем использовать формат запрос значения. Это будет работать только, если доступный компонент поддерживает указанный формат. В этом примере мы вызываем компонент example и запрашиваем данные в формате feed:

http://www.example.org/joomla/index.php?option=com_example&format=feed

Другой способ использования запрос значение - task, который используется для определения задач, которые компонент будет выполнять. Когда мы создаем наши собственные компоненты, то целесообразно их использовать. Причиной этого является то, что эти компоненты частично реализованы в рамках, которые мы будем использовать. В этом примере мы запрашиваем компонент example и вызываем задачу view:

http://www.example.org/joomla/index.php?option=com_example&task=view

Когда мы строим наши собственные URI, мы должны убедиться, что у нас нет конфликта ни с одним из основных значений запроса. Это может привести к неожиданным последствиям. Ниже приведён список некоторых основных значений запроса ядра:

  • format
  • hidemainmenu (только модуль)
  • Itemid
  • layout
  • limit
  • limitstart
  • no_html
  • option
  • start
  • task
  • tmpl
  • tp
  • vars
  • view

Когда мы выводим URI, мы должны использовать статический метод JRoute::_(). Использование этого означает, что мы не должны отслеживать ID пункта меню. Следующий пример показывает как необходимо использовать метод:

echo JRoute::_('index.php?option=com_example&task=view');

Если мы используем этот метод внутри компонента и ссылки на текущий компонент, мы не должны указывать параметр option. Обратите внимание, что мы не кодируем апресанд, в соответствии со стандартом XHTML; это потому, что JRoute сделает это за нас. Существует еще одно преимущество использования статического метода JRoute::_(). Joomla! поддерживает SEO (Search Engine Optimization). Если эта опция включена, метод JRoute ::_() будет автоматически преобразовывать адреса в адреса SEO. Например, предыдущий фрагмент кода можно перевести вот так:

http://example.org/joomla/index.php/component/com_example

Всегда используйте статический метод JRoute ::_() для вывода URI.

Вернуться к оглавлению

Войти на сайт

Запомнить меня

Новости

  • Перевод Mastering Joomla! 1.5

    14.03.2013

    Продолжается перевод книги "Mastering Joomla! 1.5". На данный момент полностью переведено 2 главы. Полностью перевод книги...

    Подробнее...

  • Модернизация сайта

    28.05.2012

    Уважаемые посетители! Мы полностью модернизировали наш сайт и надеемся что сейчас им станет...

    Подробнее...