Как править или создать стиль.

Ответить
Woin
Сообщения: 436
Зарегистрирован: 28.12.2009
Это статья для тех, кого не устраивают стандартные стили, кто хочет создать что-то свое, но не знает с чего начать.
Я дам несколько советов, как сделать это быстрее и эффективнее. А быстрее и эффективнее это сделать на основе одного из стандартных стилей - Prosilver или Subsilver2. Для большинства задач этого достаточно.

Предупреждаю сразу, что вопросы начального уровня - что такое css и с чем его едят - остануться за рамками.
Кому очень надо - на htmlbook :D


В админке, в закладке "стили" есть возможность редактировать стили напрямую из админки. Так вот,
Совет первый: забудьте об этой возможности. В подавляющем большинстве случаев внесенные вами изменения будут не непосредственно в файлах, а в копиях файлов, записанных в базу. Так что при обновлении версии, при обновлении стиля или еще в нескольких подобных случаях вы просто потеряете все свои изменения, без возможности восстановления.
Поэтому - все изменения только непосредственно в файлах. Скачиваем по фтп, вносим изменения и закачиваем обратно.


В Олимпусе хтмл, выдаваемый пользователю, кешируется. Это сделано для уменьшения нагрузки на сервер и для ускорения вывода результата. Поэтому, после любых изменений стилей нужно очищать кеш, обновлять компоненты стилей. Первое делается на главной странице админки, второе на закладке стили. Но можно сделать проще
Совет второй: Админка - Общие - Нагрузка на сервер - Перекомпилировать старые шаблоны - Да.
Это несколько повысит нагрузку на сервер, но позволит не дергать каждый раз кеш. После отладки стиля, можно будет отключить перекомпиляцию.


Если вам надо всего лишь поменять пару картинок, это можно сделать и в стандартном стиле. Но если же изменений будет много, или вы хотите поэкспериментировать, то лучше всего будет создать свой стиль.
Совет третий: создать свой стиль очень просто. Скачиваете папку prosilver (или сабсилвер, если будете делать на его основе), переименовываете ее на my_style. Заходите внутрь, находите четыре конфигурационных файла, в которых прописаны названия.
Сейчас там
name = prosilver
copyright = © phpBB Group, 2007
version = 3.0.5
Меняем на свое:
name = my_style
copyright = © Супер_Я, 2009
version = 3.0.5
Обратите внимание, что cfg файлов больше, но там нужны только четыре, в которых прописаны названия. После изменений закачиваем папку my_style на сервер, и в админке, в закладке стили устанавливаем свой стиль.
И пусть он пока выглядит, как стандартный, это не надолго.

Совет четвертый: Часто есть потребность вставить куда-нибудь в хедер свое меню или еще какой объемный код. Если всегопара строчек, то можно вставлять напрямую в темплейт. Но если код довольно объемный, то лучше выделить его в отдельный html-файл, и воспользоваться функцией вставки

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

<!-- INCLUDE my_menu.html -->


Совет пятый: стили, сделанные на основе просилвера имеют очень большой css. Для удобства, он разделен на несколько более мелких. Если предполагается вносить свои блоки, то имеет смысл сдеать свой css файик и подключить его к остальным в файле stylesheet.css
@import url("common.css");
@import url("links.css");
@import url("content.css");
@import url("buttons.css");
@import url("cp.css");
@import url("forms.css");
@import url("tweaks.css");
@import url("colours.css");
@import url("my_new.css");
При работе форума все эти css объединятся в один. Главное помните, если один и тот же селектор блока встречается в css несколько раз, то выполнятся будет самый последний, самый нижний.


Совет шестой: Очень часто задают вопрос, как изменить фон, шрифт, цвет определенного элемента. Ответ простой - смотрите код готовой страницы, находите нужный элемент, смотрите, какой класс ему присваивается и правите этот класс в css. Но можно еще проще. Откройте страницу в фаерфоксе и запустите плагин FireBug. Внизу откроется два окошка - слева побольше, с хтмл-кодом, а справа поменьше, показывающее все селекторы css, относящиеся как к выделенному блоку, так и наследуемые от родительских блоков.
Остается поправить значение нужного селектора в css.

Ответить