getStylesFileName

ЕСТЬ РЕШЕНИЕ ЗАКРЫТО

зачем жёстко привязан default?

#1 4 февраля 2015 в 01:26
Обнаружил казус. При создании своего шаблона обнаружил подгрузку стилей компонентов из default шаблона. Как выяснилось причина в функции getStylesFileName цепляющего его.
  1. $default = 'templates/default/controllers/'.$controller_name.'/'.$subfolder.'styles.css';
  2. $tpl_file = 'templates/'.$this->name.'/controllers/'.$controller_name.'/'.$subfolder.'styles.css';
  3.  
  4. if (!file_exists($config->root_path . $tpl_file)) { $tpl_file = $default; }
  5.  
Напрашивается вопрос: создание файла стиля в каждом компоненте это запланированное обязательное условие при создании своего шаблона или в недалеком будущем это условие будет упразднено?
#2 4 февраля 2015 в 08:44
В чем именно проблема? Если в вашем шаблоне нет собственного CSS-файла для компонента, он берется из дефолтного. Это же лучше чем показывать голую верстку без всяких стилей вообще?
#3 4 февраля 2015 в 11:30
Стили в компоненте это персональные page-стили, т.е. предполагается, что глобальные все-таки присоединены.
В моем варианте из присоединенного default стиля не используется ни строчки, т.е. лишний груз. И… если кто то делает/переделывает шаблон и забывает/не использует стили в компоненте, ну значит ему так надо. В любом случае подмена стиля стилем из не связанного по "феншую" шаблона это, мягко говоря, ну… не правильно.
#4 4 февраля 2015 в 11:52

В любом случае подмена стиля стилем из не связанного по "феншую" шаблона это, мягко говоря, ну… не правильно.

PIN
Возьмем, например, страницу просмотра одной фотографии в фотоальбоме. На ней выводится фото, под ним панель с остальными фото из этого альбома. И все это регулируется стилями из CSS компонента photos. Так вот, теперь представим что я делаю свой шаблон и вывод фотографий в галерее меня в целом устраивает. Что мне делать? Вы предлагаете чтобы я в таком случае копировал CSS файл photos из дефолтного шаблона в свой. И так для всех остальных компонентов. Но зачем мне в шаблоне иметь десяток файлов которые я не собираюсь менять? Вот если соберусь, тогда скопирую, это логично.

В моем варианте из присоединенного default стиля не используется ни строчки

PIN
Это означает что вы продублировали все стили всех компонентов в глобальном CSS-файле своего шаблона? Опять же, зачем? Получается что на каждой странице грузится куча стилей которые ей в приципе не нужны. А если не продублировали, значит написали свои. Но тогда получается что вы просто могли создать свой CSS-файл в папке компонента в своем шаблоне и проблема снова не ясна.
#5 4 февраля 2015 в 13:17
r2, использование шаблона на основе дефолтного обязательно приведет и к переносу/дублированию деволтного стиля, экономия на диске 3-4 kb не существенна, а не санкционированная привязка (в ядре) стороннего стиля негативна, используется он или нет. Более того в своем шаблоне можно случайно угадать сторонний стиль в не подходящем месте ). ну это я уже фантазирую )).
#6 4 февраля 2015 в 13:30

экономия на диске 3-4 kb не существенна

PIN
Так не ради экономии же. Стили это же не только цвета и шрифты (которые отлично переопределяются глобально) но и расположение элементов на странице. И оно может меняться при обновлениях. Продолжая прошлый пример, в той же фотогалерее завтра может появиться новый блок. В дефолтном шаблоне он будет отформатирован как положено (ширина, высота, положение, отступы). А мне в свой шаблон придется заново копировать файл. То есть следить за этим каждый раз, хотя я ничего не собирался вообще менять в этих стилях.

По-прежнему не понимаю в чем проблема, т.к. вы можете просто скопировать всю папку шаблона default, переименовать и быть полным хозяином всех стилей, если это вас сильно беспокоит.

привязка (в ядре) стороннего стиля негативна

PIN
Куда негативнее была бы, имхо, необходимость следить за обновлениями всех файлов шаблона если в своем шаблоне я изменил только общий макет
#7 4 февраля 2015 в 16:26
Свой шаблон, это вольная обязанность самостоятельного обновления. Свой шаблон — своя разметка. Вернувшись к основному вопросу делаю вывод — тема запланированная, файл стиля обязателен, иначе вам его добавят )
#8 4 февраля 2015 в 18:13
!
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.