Документ (класс 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')
где
Пример:
$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')
где
Пример:
$document->addStyleDeclaration('.myclass { color: red; }');