dFooter#42002 kushelbek:
Такой вопрос, а где можо почитать про функции для страниц и про условия в файле name.rc.php?
Каких-то особых «функций для страниц нет». Есть API у модуля `Page`, но там именно для работы со страницами (добавить/удалить и т.п.).
Про условия в файлах `*.rc.php` — общие правила примерно таковы:
1. этап — выбрать правильную функцию:
Файлы (js/css) подключаются через специальные функции. (Использовать жесткие ссылки прямо в TPL файлах, кроме случаев «сайт на коленке|быстро правлю чужой код» — не рекомендуется.)
Функции подключения файлов сейчас (версия >= 0.9.18) они убраны в отдельный класс Resources, вот тут есть их список с описанием (на англ.)). Суть их разнообразия сводится к следующему:
1. загружать ли указанный ресурс в заголовке (Resources::addFile или Resources::linkFile) страницы или в футере (Resources::linkFileFooter). Для CSS как правило используется заголовок, для JS зависит отзадач (может быть заголовок/футер/или прямо в код), см.ниже;
2. есть ли необходимость и возможность объединять данный файл в один пул при включенном режиме консолидации: если скрипт предполагается к загрузке на всех страницах — он может быть консолидирован (объединен с остальными такими же скриптами в один файл для ускорения загрузки). В этом случае используем Resources::addFile, ф-я обеспечит нам (по возможности) консолидированную загрузку. Если мы не хотим включать файл в консолидацию (например он грузится не на всех страницах) — используем Resources::linkFile (причем ее особенности таковы, что она по возможности попытается воткнуть ваш файл в заголовок страницы, а если он уже сформирован, то отправит его в футер). Если мы хотим грузить файл принудительно в футере (в некоторых случаях это ускаряет отображение страницы), используем уже указанный ранее Resources::linkFileFooter.
3. отдельным видом и для специфических задач служат функции Resources::embed и Resources::embedFooter. Они вставляют указанный код в вашу страницу прямо в виде скрипта.
2 этап — выбрать в каком файле эти ф-и вызывать. Об этом я писал выше. Для большинства случаев достаточно (и рекомендуется) использовать файлы *.rc.php (в конкретном расширении или теме оформления).
3 этап — определить непосредственно условия подключения (т.е. вызова указанных выше функций), если скрипт должен подключаться только в определенном случае/на определенных страницах. Тут нет однозначных правил. Просто используем системные переменные для определения «где мы, и что мы». Например:
$env [ 'ext' ];
$env [ 'location' ];
$env [ 'location' ] = 'administration' ;
$env [ 'ext' ] = 'admin' ;
$env [ 'location' ] = 'plugins' ;
$env [ 'ext' ] = 'имя_расширения' ;
$env [ 'location' ] = 'users' ;
$env [ 'ext' ] = 'users' ;
$env [ 'location' ] = 'home' ;
$env [ 'ext' ] = 'index' ;
|
Кроме этого никто не мешает использовать переменные определенные в расширениях, как это было показано выше в примере для определения id страницы или ее псевдонима(альяса).