В ReadyScript предусмотрен SingleTon класс RS::Application::Application, который агрегирует следующие параметры текущей страницы:
- Мета-теги
- Хлебные крошки
- подключаемые js скрипты
- подключаемые css скрипты
- произвольные js переменные
- HTTP заголовки
Через экземпляр данного класса происходит централизованное добавление JS и CSS файлов:
->addJs('jquery.form.js')
->addJs('jquery.form.js', null, BP_COMMON)
->addJs('jquery.form.js', null, BP_ROOT);
->addCss('style.css')
->addCss('style.css', null, BP_COMMON)
->addCss('style.css', null, BP_ROOT);
Не совсем корректно добавлять JS, CSS файлы в PHP. Это необходимо делать в шаблонах с помощью конструкции addjs, addcss.
{addjs file="jquery.form.js"}
{addjs file="jquery.form.js" basepath="common"}
{addjs file="jquery.form.js" basepath="root"}
{addcss file="jquery.form.js"}
{addcss file="style.css" basepath="common"}
{addcss file="style.css" basepath="root"}
Дополнить заголовок секцией можно с помощью следующей конструкции в любом участке PHP кода:
->addSection('Ноутбуки')
->addSection('Asus UX32');
echo \RS\Application\Application::getInstance()->title->get();
Добавить к странице meta-теги позволит следующая конструкция:
->addKeywords('Ноутбуки, Asus, UX32')
->addKeywords('еще');
->addDescriptions('Отличный ноутбук')
->addDescriptions('еще');
Хлебные крошки добавляются следующей конструкцией:
->addBreadCrumb('Главная', '/')
->addBreadCrumb('Ноутбуки', '/notebook/')
->addBreadCrumb('Asus UX32');
Заголовки и cookie для отправки браузеру устанавливаются так:
->addCookie('key', 'value')
->addHeader('X-creator', 'ReadyScript');
Параметры страницы чаще всего устанавливаются в контроллере, поэтому в контроллере есть свойство RS::Controller::AbstractController::app, которое содержит объект RS::Application::Application.
Пример установки "хлебных крошек" внутри контроллера.
namespace ModuleName\Controller\Front;
{
function actionIndex()
{
$this->app->breadcrumbs
->addBreadCrumb('новости')
->addBreadCrumb('название новости');
}
}