Зачем нужны два css-файла?

Любая помощь по установке/настройке/модификации concrete5

Зачем нужны два css-файла?

Сообщение Kiskenbassker » 14 май 2013, 23:20 ,  »  Сообщение:#1

Зачем во всех шаблонах Concrete5 два css-файла - main.css и typography.css? В typography прописываются шрифты, в main все остальное. Но зачем такое разделение? И можно ли при верстке своего шаблона обойтись одним css-файлом, или для корректной работы cms необходимо, чтобы их было два?
CONCRETE cold face cased in steel... (King Crimson)
Аватара пользователя
Kiskenbassker
 
Сообщения: 35
Зарегистрирован: 19 апр 2013, 10:13

Re: Зачем нужны два css-файла?

Сообщение Count_Raven » 15 май 2013, 00:28 ,  »  Сообщение:#2

Kiskenbassker писал(а):Зачем во всех шаблонах Concrete5 два css-файла - main.css и typography.css? В typography прописываются шрифты, в main все остальное. Но зачем такое разделение? И можно ли при верстке своего шаблона обойтись одним css-файлом, или для корректной работы cms необходимо, чтобы их было два?


Можно не использовать typgraphy.css и вообще его удалить.
Можно иметь его в корневой папке шаблона, но не обязательно его подключать в <head> ... </head>

Т.е. в своем CSS файле (не обязательно именно main.css, он может называться хоть my-style-bla-ololo.css) вы можете задать все параметры шрифтов и т.д. для типографики и все остальные стили запихать.

А теперь расскажу зачем typography.css
Этот файл загружается в редактор (когда вы добавляете/редактируете текстовый контент на странице).
Т.е. если вы хотите изменить стили WYSIWYG редактора TinyMCE, то пропишите в этом файле свои стили для текста/ссылок и т.д. Если не станете, то будут использоваться стили редактора по-умолчанию.

Простая ситуация:
У вас на параграфы размером 1.0em, h1 у вас красного цвета и размера 1.8em, ссылки красные, отступ сверху у параграфа 0.3em.
Кликните на редактирование контента и увидите, что в редакторе там размеры другие, h1 будет обычного черного цвета, а ссылки стандартные синие. Это в том случае, если вы не используете typography.css

В шаблоне в <header> typography.css прописывается только для того, чтобы тоже самое не писать и в main.css. Можно в них разные стили прописать и не подключать в шаблоне typography.css. Тогда на сайте текст будет выглядеть так, а при редактировании иначе.

Короче говоря:
main.css - это файл стилей для сайта.
typography.css - это файл, использующийся в редакторе текста.
Country Amiant - Regno All Rianto
Аватара пользователя
Count_Raven
Супермодератор
 
Сообщения: 1156
Зарегистрирован: 06 окт 2010, 15:00
Откуда: Country Amiant

Re: Зачем нужны два css-файла?

Сообщение guyasyou » 15 май 2013, 09:09 ,  »  Сообщение:#3

а я не знал что редактор именно из typography.css стили берет)))
www.pure-web.ru - fullstack разработка сайтов и веб-приложений
Аватара пользователя
guyasyou
Администратор
 
Сообщения: 559
Зарегистрирован: 05 янв 2012, 12:29
Откуда: Новосибирск

Re: Зачем нужны два css-файла?

Сообщение Kiskenbassker » 15 май 2013, 10:03 ,  »  Сообщение:#4

Count_Raven

Спасибо за подробный ответ!

Но тогда возникают встречные вопросы:

1. А можно ли наоборот, удалить файл main.css, а все стили прописать в typography.css? Тогда и на сайте будет все хорошо, и в редакторе. Или я неправильно понимаю?

2. Существует ли возможность сменить файл css, который подтягивается текстовым редактором? Например, в редакторе JCE для Joomla есть опция выбора того, какой css файл будет подтягиваться. Возможно, подобный редактор есть и для Concrete5?
CONCRETE cold face cased in steel... (King Crimson)
Аватара пользователя
Kiskenbassker
 
Сообщения: 35
Зарегистрирован: 19 апр 2013, 10:13

Re: Зачем нужны два css-файла?

Сообщение Михаил » 15 май 2013, 11:22 ,  »  Сообщение:#5

guyasyou писал(а):а я не знал что редактор именно из typography.css стили берет)))

Аналогично. Спасибки "Граф ВОРОН"!(или правильно "Чёрный граф?) Правда я тока учусь и как правило на своих ошибках. :(
Аватара пользователя
Михаил
 
Сообщения: 116
Зарегистрирован: 28 сен 2010, 20:05
Откуда: Красноярск

Re: Зачем нужны два css-файла?

Сообщение cmsservice » 15 май 2013, 13:10 ,  »  Сообщение:#6

Kiskenbassker писал(а):1. А можно ли наоборот, удалить файл main.css, а все стили прописать в typography.css? Тогда и на сайте будет все хорошо, и в редакторе. Или я неправильно понимаю?

Можно, но бывают ситуации когда это не желательно, т.е. некоторые стили например для тега body не должны влиять на редактор. Простой пример: у body может быть фоном замысловатая текстура, Вам она в редакторе зачем? Ну и много других примеров можно привести, когда влияние на редактор не желательно.

В общем же случае использовать один файл вместо двух можно, так же как и не один. У нас в проектах их не один например.

Kiskenbassker писал(а):2. Существует ли возможность сменить файл css, который подтягивается текстовым редактором? Например, в редакторе JCE для Joomla есть опция выбора того, какой css файл будет подтягиваться. Возможно, подобный редактор есть и для Concrete5?

Существует, в файле concrete/models/page_theme.php (<=5.5) или concrete/core/models/page_theme.php (5.6) есть константа FILENAME_TYPOGRAPHY_CSS

Вы с какой целью спрашиваете? Просто возможно есть более прямой путь для решения возникшей потребности. :)
С уважением, Константин
http://Переделка-сайтов.РФ
Индивидуальные решения на платформе Concrete5 для театров и производственно-торговых компаний.
Аватара пользователя
cmsservice
 
Сообщения: 763
Зарегистрирован: 10 окт 2010, 00:10
Откуда: Москва

Re: Зачем нужны два css-файла?

Сообщение Kiskenbassker » 15 май 2013, 13:20 ,  »  Сообщение:#7

Я спрашиваю просто с целью узнать больше о Concrete5. В принципе пока все ясно, спасибо, вопросов по этой теме больше нет. :)
CONCRETE cold face cased in steel... (King Crimson)
Аватара пользователя
Kiskenbassker
 
Сообщения: 35
Зарегистрирован: 19 апр 2013, 10:13

Re: Зачем нужны два css-файла?

Сообщение cmsservice » 15 май 2013, 13:49 ,  »  Сообщение:#8

Ну если побольше узнать, то отмечу еще один момент.

В принципе в C5 используется немалое количество CSS и JS файлов. Для более или менее нагруженных проектов это не очень хорошо, я бы даже сказал критично в плане скорости загрузки страниц. Как в литературе, так и в любом сервисе по оптимизации скорости загрузки этот факт отмечен, как негативный ибо при нынешней ширине каналов всегда быстрее загрузить один файл, пусть даже и 100кб, чем много маленьких таким же общим объемом.

Собственно одно из решений данной проблемы - минификация и сливание файлов в один (т.е. один CSS и один JS), а также перемещение подключения JS в конец страницы. Это можно сделать как вручную, так и автоматически. При ручной оптимизации мы упускаем множество файлов view.css(.js), которые подключаются автоматически для модулей, используемых на странице.

Для автоматической оптимизации этой части сайта мы выпустили специальную сборку
Пожалуйста зарегистрируйтесь, чтобы увидеть ссылку
, которая включает в себя функционал автоматической минификации и слияния файлов.
С уважением, Константин
http://Переделка-сайтов.РФ
Индивидуальные решения на платформе Concrete5 для театров и производственно-торговых компаний.
Аватара пользователя
cmsservice
 
Сообщения: 763
Зарегистрирован: 10 окт 2010, 00:10
Откуда: Москва

Re: Зачем нужны два css-файла?

Сообщение Admin » 16 май 2013, 01:09 ,  »  Сообщение:#9

cmsservice писал(а):..
Для автоматической оптимизации этой части сайта мы выпустили специальную сборку ..., которая включает в себя функционал автоматической минификации и слияния файлов.


Полезная вещь, однако я не вижу смысла создавать для этого отдельную сборку, если всё это можно выпустить в виде отдельного модуля, установив который, получаем ту же самую функциональность.
Или есть какие-то определенные причины, по которым вы не сделали это модулем?
Аватара пользователя
Admin
Администратор
 
Сообщения: 108
Зарегистрирован: 24 авг 2010, 15:01

Re: Зачем нужны два css-файла?

Сообщение cmsservice » 16 май 2013, 11:05 ,  »  Сообщение:#10

Admin писал(а):Или есть какие-то определенные причины, по которым вы не сделали это модулем?

Причины есть ибо там существенно кастомизируется базовый класс View, т.е. по сути меняется часть ядра. Выпустить отдельным модулем можно, который при установке будет раскидывать нужные файлы (хелпер и вьюшку) по директориям, но проще выпустить сборку, чтобы потом не было разговоров типа: "Установил модуль, а ничего не изменилось", потом оказывается что у него директории недоступны для записи. В общем, как-то так :)
С уважением, Константин
http://Переделка-сайтов.РФ
Индивидуальные решения на платформе Concrete5 для театров и производственно-торговых компаний.
Аватара пользователя
cmsservice
 
Сообщения: 763
Зарегистрирован: 10 окт 2010, 00:10
Откуда: Москва


Вернуться в Помощь по concrete5

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 7

cron