Вход/Регистрация
Разрботка расширений для CMS Joomla
вернуться

Седова Яна Анатольевна

Шрифт:

Обратите внимание, что массив $query должен быть передан в функцию <имя компонента>BuildRoute по ссылке. По мере заполнения массива $segments обработанные элементы удаляются из массива $query с помощью unset. Любые элементы, которые останутся в массиве $query после работы функции <имя компонента>BuildRoute, останутся и в URL. Если мы передадим $query по значению, вызовы функции unset будут действовать только на локальную копию этого массива и все элементы старого URL будут появляться после SEF-сегментов.

Документ (класс JDocument)

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

Получение ссылки на глобальный объект JDocument:

$document =& JFactory::getDocument;

Этот объект хранит название, описание, язык, направление текста, дату модификации, кодировку и некоторые другие значения. Класс JDocument содержит несколько методов для получения этих значений: getTitle, getDescription, getLanguage, getDirection, getModifiedDate, getCharset и др. Соответственно, методы для задания этих значений называются setTitle, setDescription и т.д. и принимают в качестве аргумента новое значение.

Получение значения мета-тега

string getMetaData(string $name, bool $http_equiv = false)

где

$name - название тега; $http_equiv - относится ли этот мета-тег к группе http-equiv (например, Content-Type, Refresh и др.).

Примеры:

echo $document->getMetaData('content-type', true); echo $document->getMetaData('keywords', false);

Изменение значения мета-тега

void setMetaData(string $name, string $content, bool $http_equiv = false, bool $sync = true)

где

$content - значение атрибута content; $sync - синхронизировать ли тег content-type с MIME-типом документа.

Пример:

$document->setMetaData('content-type','text/html',true,true);

Добавление скриптов и каскадных таблиц стилей

Перечисленные ниже методы добавляют в секцию <head> соответствующие теги.

Добавление ссылки на скрипт:

void addScript(string $url, string $type = "text/javascript", bool $defer = false, bool $async = false)

где

$url - URL скрипта; $type - тип скрипта (text/javascript, text/vbscript и т.д.); $defer - добавлять ли к тегу <script> атрибут defer="defer"; $async - добавлять ли к тегу <script> атрибут async="async".

Пример:

$document->addScript('/components/com_mycomponent/js/script.js');

Добавление непосредственно текста скрипта

void addScriptDeclaration(string $content, string $type = 'text/javascript')

где

$content - текст скрипта; $type - тип скрипта.

Пример:

$document->addScriptDeclaration('alert("Hello World")');

Добавление внешней таблицы стилей

void addStyleSheet(string $url, string $type = 'text/css', string $media = null, array $attribs = array)

где

$url - URL файла CSS; $type - MIME-тип файла; $media - значение атрибута media (screen, print, projection и др.); $attribs - массив других атрибутов тега <link>.

Пример:

$document->addStyleSheet('/components/com_mycomponent/css/style.css');

Добавление внутренней таблицы стилей

void addStyleDeclaration(string $content, string $type = 'text/css')

где

$content - код CSS; $type - значение атрибута type будущего тега <style>.

Пример:

$document->addStyleDeclaration('.myclass { color: red; }');

Пользователь (класс JUser)

Пользователь, просматривающий сайт, представлен объектом класса JUser, доступ к которому можно получить через метод getUser класса JFactory:

$user =& JFactory::getUser;

Чтобы получить доступ к объекту, представляющему какого-либо другого пользователя, необходимо передать в метод getUser id или логин этого пользователя:

$user =& JFactory::getUser(42); $user =& JFactory::getUser('admin');

Поля класса JUser

JUser имеет ряд полей, для которых определен уровень доступа public и к которым поэтому можно обращаться непосредственно. Наиболее важные из них перечислены ниже (таблица 5.1).

  • Читать дальше
  • 1
  • ...
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • ...

Ебукер (ebooker) – онлайн-библиотека на русском языке. Книги доступны онлайн, без утомительной регистрации. Огромный выбор и удобный дизайн, позволяющий читать без проблем. Добавляйте сайт в закладки! Все произведения загружаются пользователями: если считаете, что ваши авторские права нарушены – используйте форму обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

Подпишитесь на рассылку: