Добавляем HTML код в тело страницы перед закрывающимся HEAD или BODY тегом
Итак, проблема.
У вас имеется страница, на которой необходимо добавить javascript или к примеру CSS стили. Скрипт можно подключить в конце страницы, перед закрывающимся BODY тегом, а стили необходимо добавить в секцию HEAD.
Конечно, можно создать новый шаблон, чтобы это сделать, но такая страница только одна и заводить новый шаблон для нее не хочется.
Найдем решение
MODX Revolution позволяет решить описанную проблему очень легко.
Достаточно внимательно изучить список методов класса modX.
Вот те функции, которые нас интересуют:
- modX::regClientCSS Добавляет CSS код на страницу путем включения его внутрь тега HEAD генерируемого документа.
- modX::regClientHTMLBlock Включает HTML код на страницу, размещая его перед закрытием тега BODY документа.
- modX::regClientScript Добавляет JavaScript код на страницу, размещаея его перед закрытием тега BODY документа.
- modX::regClientStartupHTMLBlock Добавляет HTML на страницу перед закрытием тега HEAD.
- modX::regClientStartupScript Добавляет JavaScript код на страницу, размещаея его внутри тега HEAD документа.
Примеры
Проще всего воспользоваться этими функциями, создав небольшой сниппет, который будет их вызывать, а уже этот сниппет добавить на страницу.
Посмотрим на пример работы с этими функциями. Обратите внимание, что при добавлении javascript и CSS вам не нужно формировать соответствующие link, style, script теги, эту операцию выполняет MODX.
# добавим CSS файл в начало страницы $modx->regClientCSS('assets/css/style.css'); # добавим футер $modx->regClientHTMLBlock('<div id="footer">(c) 2012 My company</div>'); # добавим скрипт в конец страницы $modx->regClientScript('assets/js/footer.js'); # добавим произвольный тег в начало страницы, до закрытия тега HEAD $modx->regClientStartupHTMLBlock('<tag></tag>'); # добавим скрипт в начало страницы, в тег HEAD $modx->regClientStartupScript('assets/js/onload.js');
Как видите, использовать эти функции очень просто, а в тоже время они дают богатые возможности и при должном использовании могут значительно упростить разработку сайта.