Описание логики работы смены цветов из админ. панели в OkayCMS 3.*

Правила раздела: faq.php?mode=okay
Модератор: Модераторы

OkayCMS M
Администратор
Аватара
OkayCMS M
Администратор
Репутация: 216
Сообщения: 1627
Зарегистрирован: 12.11.2015
С нами: 8 лет 4 месяца
Сайт Skype

Сообщение #1 OkayCMS » 13.09.2019, 11:59

В настройках дизайна появился новый блок, для настройки цветов
Изображение
Эти цвета записываются в отдельный файл в шаблоне который лежит в design/theme/css/theme-settings.css и имеет такой вид
Изображение
Это переменные CSS, но поскольку их поддержка браузерами еще слабовата, мы сделали компиляцию CSS файлов, и везде, где использовалась переменная
Изображение
в исходном файле (который так и остается, с ним ничего не происходит) заменяется на значение этой переменной в скомпилированном файле.
Изображение
Также эти переменные желательно теперь использовать при разработке модулей, чтобы модули сразу в стиль сайта вписывались.

Сделана регистрация CSS и JS файлов. Для этого нужно в design/theme/js.php и design/theme/css.php их зарегистрировать в таком виде.
Изображение
Нужно вернуть массив объектов типа Okay\Core\TemplateConfig\Js или Okay\Core\TemplateConfig\Css.
Эти классы мы постарались максимально подробно описать.

Теперь не нужно прописывать большое количество CSS и JS файлов в HTML. Все зарегистрированные файлы скомпилируются в один выходной файл (который минимизирован), если иного не указанно в параметрах. Подключатся они так:
Изображение
внутри файл будет содержать все входящие в него файлы в такой же последовательности, как и их регистрация.
Файлы кеша чувствительны к изменениям их оригинальных файлов, т.е. если изменить оригинальный файл, и кеш обновится автоматически.

Подключать через <script> или <link> теперь нужно только внешние ресурсы.

Если нужно подключать какой-то скрипт или файл стилей по условию, например "поделиться" в карточке товара и блоге. Нужно использовать Smarty плагины {js} и {css} со след параметрами:
file или filename - имя файла,
dir - путь к папке скрипта относительно корня сайта,
defer - нужен ли атрибут defer (применимо только к плагину js)

Crypter
Аватара
Crypter
Репутация: 11
Сообщения: 109
Зарегистрирован: 02.02.2016
С нами: 8 лет 1 месяц

Сообщение #2 Crypter » 13.09.2019, 12:23

Ну и???
- все нормально работает - кто тестировал, в курсе :(

Думаю для 1 варианта неплохо!
- в планах по развитию этого блока нет ли у Вас внедрение не только ЦВЕТА фона, а и спец картинку (или несколько картинок для различных устройств)?

Картинка может олицетворят в магазине:
- праздник,
- день скидок,
- спонсора и др ........
(потом использовать это как ссылку для перехода на ту или иную страницу..)

OkayCMS M
Администратор
Аватара
OkayCMS M
Администратор
Репутация: 216
Сообщения: 1627
Зарегистрирован: 12.11.2015
С нами: 8 лет 4 месяца
Сайт Skype

Сообщение #3 OkayCMS » 13.09.2019, 12:32

Crypter писал(а):Ну и???
- все нормально работает - кто тестировал, в курсе :(

Думаю для 1 варианта неплохо!
- в планах по развитию этого блока нет ли у Вас внедрение не только ЦВЕТА фона, а и спец картинку (или несколько картинок для различных устройств)?

Картинка может олицетворят в магазине:
- праздник,
- день скидок,
- спонсора и др ........
(потом использовать это как ссылку для перехода на ту или иную страницу..)
Да, в планах есть добавить набор фонов.
Статью написали для тех кто не участвовал в тесте, чтобы они понимали как всё устроено.

Новую версию уже сделали, сейчас собираем в установщик. В течении часа будет доступна.

Добавлено спустя 2 минуты 17 секунд:
Для тех кто хочет раньше :)
https://github.com/OkayCMS/Okay3

Александр116
Александр116

css, js кеш объединение

Сообщение #4 Александр116 » 23.04.2021, 19:19

{css file='height-responsive.css'}
Подскажете как сделать кеш css,js чтобы обьединялся в один ?
К примеру я на главной вызываю ток {css file='header.css'} {css file='main.css'} {css file='footer.css'}
Ну на страницу блог или товара уже {css file='header.css'} {css file='blog.css'} {css file='footer.css'}
Задача получить в браузере не 3 сжатых файла а один, такое возможно ?

piraids
piraids
Репутация: 0
Сообщения: 5
Зарегистрирован: 13.07.2021
С нами: 2 года 8 месяцев

Сообщение #5 piraids » 15.07.2021, 16:07

Если нужно подключать какой-то скрипт или файл стилей по условию, например "поделиться" в карточке товара и блоге. Нужно использовать Smarty плагины {js} и {css} со след параметрами:
file или filename - имя файла,
dir - путь к папке скрипта относительно корня сайта,
defer - нужен ли атрибут defer (применимо только к плагину js)

как заставить работать такое?

Код: Выделить всё

{css filename="catalog.css" dir="$rootUrl/design/$settings->theme/css/page/"}


пока альтернативу вижу просто как

Код: Выделить всё

<link href="{$rootUrl}/design/{$settings->theme}/css/page/catalog.css" rel="stylesheet">


Название раздела: Новости OkayCMS
Правила раздела: faq.php?mode=okay

Быстрый ответ


Введите код в точности так, как вы его видите. Регистр символов не имеет значения.
Код подтверждения

   

Вернуться в «Новости OkayCMS»

Кто сейчас на форуме (по активности за 5 минут)

Сейчас этот раздел просматривают: 14 гостей