Уважаемые пользователи!
C 7 ноября 2020 года phpBB Group прекратила выпуск обновлений и завершила дальнейшее развитие phpBB версии 3.2.
С 1 августа 2024 года phpBB Group прекращает поддержку phpBB 3.2 на официальном сайте.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.2 до 31 декабря 2024 года.
С учетом этого, настоятельно рекомендуется обновить конференции до версии 3.3.

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

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

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

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

Сообщение Пафнутий K »

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

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

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

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

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

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

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

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

prosilver-child-04.png
prosilver-child-04.png (7.1 КБ) 18436 просмотров
В папке 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 2.0.0
Сообщения: 232
Стаж: 8 лет 2 месяца
Благодарил (а): 112 раз
Поблагодарили: 7 раз

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

Сообщение static77 »

Здравствуйте, эксперты.
Подскажите, не лучше ли будет в своем стиле добавить в overall_header.html ссылки на css файлы prosilver'а, а stylesheet.css оставить только свои, изменённые стили?
Аватара пользователя
Татьяна5
Поддержка
Поддержка
Сообщения: 12372
Стаж: 12 лет 7 месяцев
Благодарил (а): 223 раза
Поблагодарили: 3517 раз
Контактная информация:

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

Сообщение Татьяна5 »

Есть такой вариант
По моему мнению, красивей в stylesheets стиля подтянуть нужные из prosilver, перед подключением там своих, но это только моё мнение
Mkulya
phpBB 1.0.0
Сообщения: 1
Стаж: 4 года 8 месяцев
Благодарил (а): 1 раз

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

Сообщение Mkulya »

Подскажите как в дочернем стиле подключить свой файл функций и добавлять туда свой функционал (аналог function.php в дочерней теме вордпресса)
Аватара пользователя
Татьяна5
Поддержка
Поддержка
Сообщения: 12372
Стаж: 12 лет 7 месяцев
Благодарил (а): 223 раза
Поблагодарили: 3517 раз
Контактная информация:

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

Сообщение Татьяна5 »

Это в phpBB делается не в стиле
Вы можете создавать свои расширения и разграничивать их по стилям при желании (в styles можно не создавать общих папок, а создать только для нужного стиля)
Аватара пользователя
RWinner
phpBB 1.4.4
Сообщения: 162
Стаж: 18 лет 2 месяца
Благодарил (а): 17 раз

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

Сообщение RWinner »

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

то есть:

- prosilver
-- prosilver_child
--- child_of_prosilver_child

??

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

Или это тормозить будет?
Давненько я здесь не был... (-:
Аватара пользователя
Nekstati
Поддержка
Поддержка
Сообщения: 3335
Стаж: 15 лет
Благодарил (а): 35 раз
Поблагодарили: 1434 раза

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

Сообщение Nekstati »

Можно.
Чему там тормозить-то, всё кэшируется же.
Аватара пользователя
Татьяна5
Поддержка
Поддержка
Сообщения: 12372
Стаж: 12 лет 7 месяцев
Благодарил (а): 223 раза
Поблагодарили: 3517 раз
Контактная информация:

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

Сообщение Татьяна5 »

RWinner писал(а): 11.11.2019 15:20 практикуется ли?
Да
Аватара пользователя
RWinner
phpBB 1.4.4
Сообщения: 162
Стаж: 18 лет 2 месяца
Благодарил (а): 17 раз

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

Сообщение RWinner »

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

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

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

Я просто прямо сейчас решил по-быстренькому смастерить дочернюю тему (от другой дочерней), но начались какие-то взбрыки, а разбираться под вечер с ними ни сил ни желания уже нет))) тупо продублировал файлы из парент темы - вроде теперь работает )) буду теперь по кусочку отрезать в свободное время))) разбираться что лишнее, а что нет))
Давненько я здесь не был... (-:
Аватара пользователя
Пафнутий K
phpBB 1.4.2
Сообщения: 55
Стаж: 5 лет 1 месяц
Благодарил (а): 5 раз
Поблагодарили: 7 раз

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

Сообщение Пафнутий K »

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

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

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

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

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

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

Я до сих пор не обновлялся. Боюсь. У меня еще 3.2.5 стоит
Аватара пользователя
Webliberty
phpBB 2.0.5
Сообщения: 472
Стаж: 12 лет 3 месяца
Благодарил (а): 161 раз
Поблагодарили: 66 раз
Контактная информация:

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

Сообщение Webliberty »

У меня дочерний стиль давно используется и состоит из:
  1. theme (Каталог с файлами и папками, точно такими же, что в стандартном Prosilver, но некоторые файлы изменены. Обновляю вручную по patch-файлам.)
  2. template (Каталог, только с теми файлами, которые у меня изменены. На данный момент всего 1 файл, который в будущем также планирую удалить и заменить внесенные в него правки на расширение. Нужно кстати проверить, оставлял его, т.к. не было нужного события, сейчас возможно появилось. Обновляю вручную по patch-файлам.)
  3. style.cfg (Файл с правками, указанными в первом сообщении этой темы: name = prosilver_child, parent = prosilver. Обновляю вручную по patch-файлам.)
Импорт @import в stylesheet.css не использую по той причине, что в стилях есть ручные правки и уже не помню какие (рудименты после перехода с версии phpBB 3.0.x). В целом стремлюсь к использованию стандартных решений и по надобности - к установке расширений, но еще нахожусь на пути к совершенству :D

Отправлено спустя 5 минут 15 секунд:
А вообще есть же "phpBB Skeleton Extension" - заготовка для создания расширения, было бы не плохо официальной команде phpBB придумать что-то типа "phpBB Skeleton Style" в качестве помощи при создании дочерних стилей.
Мой форум на phpBB 3.3.8 (начинал с phpBB 3.0.9)
Подпись заверена нотариусом :P
Аватара пользователя
southklad
phpBB 3.1.0 RC2
Сообщения: 3232
Стаж: 12 лет 2 месяца
Благодарил (а): 797 раз
Поблагодарили: 175 раз

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

Сообщение southklad »

приветствую, не могу создать дочерний стиль, делаю так

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

name = My-child
parent = My_v2
но стиль для установки не появляется. Данный стиль наследует с другого стиля, который в свою очередь наследует от prosilver
Изображение
Аватара пользователя
Татьяна5
Поддержка
Поддержка
Сообщения: 12372
Стаж: 12 лет 7 месяцев
Благодарил (а): 223 раза
Поблагодарили: 3517 раз
Контактная информация:

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

Сообщение Татьяна5 »

igorbond, это не весь style.cfg, это строки, которые надо изменить в полном
Аватара пользователя
southklad
phpBB 3.1.0 RC2
Сообщения: 3232
Стаж: 12 лет 2 месяца
Благодарил (а): 797 раз
Поблагодарили: 175 раз

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

Сообщение southklad »

Такой вот вопрос, создал дочернюю тему, а как теперь запретить выбор других тем? Нужно оставить две, остальные скрыть, включая родные.
Изображение
Аватара пользователя
Sheer
Former team member
Сообщения: 12113
Стаж: 17 лет 1 месяц
Откуда: Калининград не Кенигсберг
Благодарил (а): 54 раза
Поблагодарили: 2752 раза
Контактная информация:

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

Сообщение Sheer »

Две не получится, удалить prosilver нельзя, родительский стиль для дочернего тоже нельзя.
изображение.png
Изображение
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.
Ответить

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