Столкнулся с проблемой. Необходимо добавить в head шаблона свои стили и скрипты.
Добавлял записи в main.php шаблона:

И cтили и скрипты срабатывают, но только тогда, когда Шаблон вывода по-умолчанию из админке стоит в ОБЫЧНЫЙ
Но когда меняю в админке вывод на no-sidebar скрипты и стили работать перестают.
Я так понял нужно в папку шаблона custom закинуть заготовку head со своими записями из custom c shared, но тогда вообще ошибка вылазит php.
Как всё таки в MaxSite CMS можно однозначно подключить свои скрипты и стили? Логику подключения "допетрить" не могу.
6 6234
Еще записи по теме
- Безопасность Maxsite CMS
- Как скрыть информацию от пользователей?
- Как разместить lightslider над контентом записи?
- Как сделать изменение стилей в дефолтном шаблоне?
- Как разместить свой слайдер в "первом блоке шапки"?
- Как заменить H1 на главной, в категориях и метках?
- Сколько нужно места на хостинге для блога?

Дмитрий, дефолтный шаблон сейчас так устроен, что лезть править main.php ради секции HEAD нет никакой нужды. Рекомендую найти функцию mso_default_head_section (см. файл \application\maxsite\shared\functions\template.php), которая вызывается в main.php для вывода HEAD и изучить логику её работы. Тогда многое станет понятно.
В частности, для подключения своих стилей и скиптов реализовано несколько способов. Цитирую фрагмент функции:
if ($fn = mso_fe('custom/head.php')) require($fn); if ($fn = mso_page_foreach('head')) require($fn); if (function_exists('ushka')) echo ushka('head'); // autoload js-файлов if ($autoload_js = mso_get_path_files(getinfo('template_dir') . 'js/autoload/', getinfo('template_url') . 'js/autoload/', true, array('js'))) { foreach($autoload_js as $fn_js) { echo NT .'[removed][removed]'; } } if (mso_fe('js/my.js')) echo NT . '[removed][removed]'; if ($my_ 'templates', '')) echo NR . '<!-- custom css-my_style -->' . NR . '<style>' . NR . $my_style . '</style>'; mso_hook('head-end');Из кода видно, что можно разместить код подключения в файле custom/head.php или в type_foreach файле head. Есть ещё вариант с использование ушки head.
Есть способ автоматического подключения скриптов - разместить его в папку js/autoload/. Некоторые малые фрагменты js-кода можно разместить (скопировать) в файл js/my.js.
Часть стилей можно прописать через опции настройки шаблона.
Вы не привели код ошибки при использовании custom/head.php. Но подозреваю, что ошибка скорее всего в синтаксисе. Просто внимательно проверьте то место, которое указано в сообщении об ошибке. Должно всё нормально работать. Пожалуй это самый простой и популярный способ подключения всего чего угодно (например, можно подключить семантическую разметку для социалок) в секцию HEAD.
Спасибо Илья - с этим моментом понятно, логику нужно включать
Никак не мог войти через логинзу - Яндекс, пришлось через гугл аккаунт. Пробовал три раза-при авторизации выходит ошибка на странице:
Я года полтора назад пробовал использовать custom/head.php, но содержимое файла полностью заменило содержание head и больше не экспериментировал. Исправилась ситуация сейчас?
AndreySPb, а на каком шаблоне пробовали? Если поищите функцию mso_default_head_section как я и писал выше, то сможете сами убедиться, что custom/head.php не должен затирать всю секцию head. Ну и вопрос ещё о том, что именно вы размещали в файл custom/head.php...
Задумался.. Это было точно в старых версиях шаблонов. И походу пихал я в папку type_foreach
Пробовал подключать через custom/head.php и через ушку - всё работает отлично! Спасибо за разъяснение.