Создание дочернего стиля для чайников

Есть любые вопросы, связанные со стилями/темами для phpBB 3.2.x? Задайте их здесь!
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Мини [FAQ] по phpBB3.1.x | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать расширения

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
Ответить
Аватара пользователя
Пафнутий K
phpBB 1.2.0
Сообщения: 17
Зарегистрирован: 30.01.2019 23:13
Благодарил (а): 2 раза
Поблагодарили: 2 раза

Создание дочернего стиля для чайников

Сообщение Пафнутий K » 06.02.2019 19:21

Прошу прощения, если баян, но пошаговой инструкции по созданию дочернего стиля я не нашел, поэтому привожу свой вариант.

Официальное руководство длинное и непонятное. Есть еще советы на русском, как создать свой стиль, но это не то что нам нужно, поскольку нам нужен пустой дочерний стиль, а не копирование всех файлов из исходного стиля.

Пользователи WordPress меня поймут, потому что там дочерний стиль по умолчанию абсолютно пуст и содержит два пустых файла styles.css и functions.php, и никто родительскую тему в дочернюю не копирует.

Методом научного тыка мне удалось выяснить, что в phpBB дочерний стиль тоже почти пуст. Он включает лишь 2 обязательных файла, остальные файлы вспомогательные и почти ненужные, без них можно и обойтись. Но лучше их все же включить, поскольку без них браузер может начать ругаться. Все файлы просто скопированы из родительского стиля.

Итак, вот наш дочерний стиль:
prosilver-child.png
prosilver-child.png (7.21 КБ) 39 просмотров

prosilver-child-01.png
prosilver-child-01.png (8.66 КБ) 39 просмотров

prosilver-child-02.png
prosilver-child-02.png (7.18 КБ) 39 просмотров

prosilver-child-03.png
prosilver-child-03.png (6.29 КБ) 39 просмотров

prosilver-child-04.png
prosilver-child-04.png (7.1 КБ) 39 просмотров
В папке template ничего нет.


В обязательные файлы style.cfg и stylesheet.css согласно официальной инструкции вносим следующие изменения:

  • В prosilver_child/style.cfg

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

name = prosilver_child
parent = prosilver

  • В prosilver_child/theme/stylesheet.css

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

@import url("../../prosilver/theme/normalize.css?v=3.2");
@import url("../../prosilver/theme/base.css?v=3.2");
@import url("../../prosilver/theme/utilities.css?v=3.2");
@import url("../../prosilver/theme/common.css?v=3.2");
@import url("../../prosilver/theme/links.css?v=3.2");
@import url("../../prosilver/theme/content.css?v=3.2");
@import url("../../prosilver/theme/buttons.css?v=3.2");
@import url("../../prosilver/theme/cp.css?v=3.2");
@import url("../../prosilver/theme/forms.css?v=3.2");
@import url("../../prosilver/theme/icons.css?v=3.2");
@import url("../../prosilver/theme/colours.css?v=3.2");
@import url("../../prosilver/theme/responsive.css?v=3.2");


Всё. Стиль готов к использованию. Остаётся только подключить его в административной панели форума.


P.S. Свои собственные пользовательские стили userstyles.css можно складировать в папке prosilver_child/theme/ и подключать их в файле prosilver_child/theme/stylesheet.css следующей дополнительной строкой кода:

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

@import url("userstyles.css?v=3.2");


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

В этом случае можно:
  • Пользоваться в своих стилях свойством !important (не всегда хорошая практика)
  • Скопировать из родительского стиля файл overall_header.html в папку prosilver_child/template и подключить свой стиль внутри этого файла после строки '{$STYLESHEETS}' (не всегда удобно)
  • Создать свое простенькое расширение и подключать свои стили из этого расширения к событию 'overall_header_stylesheets_after' (хорошая практика)
Все три варианта работают, я проверял ;)

Ответить

Вернуться в «Стили для phpBB 3.2.x»