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

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

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

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

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

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

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

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

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

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

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

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

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

prosilver-child-04.png
prosilver-child-04.png (7.1 КБ) 812 просмотров
В папке 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' (хорошая практика)
Все три варианта работают, я проверял ;)

static77
phpBB 1.4.4
Сообщения: 177
Зарегистрирован: 25.01.2016 10:29
Благодарил (а): 84 раза
Поблагодарили: 3 раза

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

Сообщение static77 » 31.03.2019 15:33

Здравствуйте, эксперты.
Подскажите, не лучше ли будет в своем стиле добавить в overall_header.html ссылки на css файлы prosilver'а, а stylesheet.css оставить только свои, изменённые стили?

Аватара пользователя
Татьяна5
Поддержка
Поддержка
Сообщения: 9749
Зарегистрирован: 08.08.2011 2:02
Благодарил (а): 175 раз
Поблагодарили: 2716 раз
Контактная информация:

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

Сообщение Татьяна5 » 31.03.2019 15:44

Есть такой вариант
По моему мнению, красивей в stylesheets стиля подтянуть нужные из prosilver, перед подключением там своих, но это только моё мнение

Mkulya
phpBB 1.0.0
Сообщения: 1
Зарегистрирован: 03.07.2019 9:12
Благодарил (а): 1 раз

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

Сообщение Mkulya » 03.07.2019 10:20

Подскажите как в дочернем стиле подключить свой файл функций и добавлять туда свой функционал (аналог function.php в дочерней теме вордпресса)

Аватара пользователя
Татьяна5
Поддержка
Поддержка
Сообщения: 9749
Зарегистрирован: 08.08.2011 2:02
Благодарил (а): 175 раз
Поблагодарили: 2716 раз
Контактная информация:

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

Сообщение Татьяна5 » 03.07.2019 13:51

Это в phpBB делается не в стиле
Вы можете создавать свои расширения и разграничивать их по стилям при желании (в styles можно не создавать общих папок, а создать только для нужного стиля)

Аватара пользователя
RWinner
phpBB 1.4.4
Сообщения: 160
Зарегистрирован: 08.01.2006 8:18
Благодарил (а): 15 раз
Поблагодарили: 1 раз

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

Сообщение RWinner » 11.11.2019 15:20

А можно ли сделать дочерний стиль от дочернего стиля? :)

то есть:

- prosilver
-- prosilver_child
--- child_of_prosilver_child

??

И если так можно - практикуется ли?

Или это тормозить будет?
Давненько я здесь не был... (-:

Аватара пользователя
Nekstati
Поддержка
Поддержка
Сообщения: 2787
Зарегистрирован: 19.03.2009 17:43
Благодарил (а): 23 раза
Поблагодарили: 998 раз

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

Сообщение Nekstati » 11.11.2019 16:00

Можно.
Чему там тормозить-то, всё кэшируется же.

Аватара пользователя
Татьяна5
Поддержка
Поддержка
Сообщения: 9749
Зарегистрирован: 08.08.2011 2:02
Благодарил (а): 175 раз
Поблагодарили: 2716 раз
Контактная информация:

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

Сообщение Татьяна5 » 11.11.2019 17:48

RWinner писал(а):
11.11.2019 15:20
практикуется ли?
Да

Аватара пользователя
RWinner
phpBB 1.4.4
Сообщения: 160
Зарегистрирован: 08.01.2006 8:18
Благодарил (а): 15 раз
Поблагодарили: 1 раз

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

Сообщение RWinner » 11.11.2019 20:26

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

Всё равно тут как-то наследование криво реализовано )) по идее должно быть достаточно просто заполнить манифест, указать в нем parent тему, и всё.

А тут этого недостаточно.

Я просто прямо сейчас решил по-быстренькому смастерить дочернюю тему (от другой дочерней), но начались какие-то взбрыки, а разбираться под вечер с ними ни сил ни желания уже нет))) тупо продублировал файлы из парент темы - вроде теперь работает )) буду теперь по кусочку отрезать в свободное время))) разбираться что лишнее, а что нет))
Давненько я здесь не был... (-:

Аватара пользователя
Пафнутий K
phpBB 1.4.2
Сообщения: 55
Зарегистрирован: 30.01.2019 23:13
Благодарил (а): 5 раз
Поблагодарили: 7 раз

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

Сообщение Пафнутий K » 11.11.2019 20:42

RWinner писал(а):
11.11.2019 20:26
Пафнутий K писал(а):
06.02.2019 19:21
Пользователи WordPress меня поймут, потому что там дочерний стиль по умолчанию абсолютно пуст и содержит два пустых файла styles.css и functions.php, и никто родительскую тему в дочернюю не копирует.
Поймут, поймут))

Всё равно тут как-то наследование криво реализовано )) по идее должно быть достаточно просто заполнить манифест, указать в нем parent тему, и всё.

А тут этого недостаточно.

Я просто прямо сейчас решил по-быстренькому смастерить дочернюю тему (от другой дочерней), но начались какие-то взбрыки, а разбираться под вечер с ними ни сил ни желания уже нет))) тупо продублировал файлы из парент темы - вроде теперь работает )) буду теперь по кусочку отрезать в свободное время))) разбираться что лишнее, а что нет))

Это да, до оптимальности тут конечно далеко :facepalm:

Долго приходится въезжать и шаманить. Но разобраться в принципе можно. Правда, через полгода все навыки вылетают из головы напрочь. Так что снова приходится шаманить и вспоминать.

Я до сих пор не обновлялся. Боюсь. У меня еще 3.2.5 стоит

Ответить

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