Какой правильный подход темизации Drupal 7 Adaptive (scss)

Главные вкладки

Аватар пользователя Crossingover Crossingover 25 июля 2013 в 12:21

Добрый день, товарищи!
Потребовалось создать сайт . Все, что касается администрирования и типов контекта сделал, теперь необходимо темизировать, т.к. решил создать свою подтему к adaptivetheme.
Помогите пожалуйста разобраться с несколькими вопросами:
1. На сколько приемлемо править сразу global.styles.scss? Может корректней создать свой scss фаил, прописать его в .info и править?
2. Я хочу сделать рамку вокруг всех регионов, которые идут после main-menu, получается, что мне нужно менять структуру page.tpl.php в моей сабтеме (добавлять туда div). На сколько это приемлемо вообще? Может ли это повлиять на обновление, когда какие-то изменения будут в главной теме, которые конфликтуют с моими изменениями?

В общем нужны бестпрактис Smile
Спасибо!

Комментарии

Аватар пользователя sg85 sg85 25 июля 2013 в 16:24

подобные темы на самом деле являются чем-то вроде фреймворка, то бишь создаете свою дочернюю тему на её основе и изголяетесь как хотите, однако на Вашем месте я бы не стал использовать SCSS ибо овчинка выделки не стоит.

Аватар пользователя Crossingover Crossingover 25 июля 2013 в 17:54

sg85, спасибо за ответ! Почему не стоит использовать SCSS? Мне показались полезными его возможности. Тем более компиляция сейчас происходит автоматически.
То есть я спокойно правлю .tpl.php?

Аватар пользователя sg85 sg85 25 июля 2013 в 21:55

"Crossingover" wrote:
Почему не стоит использовать SCSS? Мне показались полезными его возможности. Тем более компиляция сейчас происходит автоматически.

далеко не везде есть руби, однако и без руби можно обойтись, для этого есть соответствующие модули, но ради одной рамки и пары мелких правок с этим заморачиваться себе дороже

Советую погуглить статьи про создание дочерних тем.

Аватар пользователя Crossingover Crossingover 25 июля 2013 в 23:26

дочернюю тему сделал сразу же, но вот как бы с меньшими усилиями сделать нужный интерфейс, чтобы все было кастомизированно в нужных местах - вот задача Smile

Аватар пользователя sg85 sg85 26 июля 2013 в 0:19

если добавите в дочернюю тему page.tpl.php, то будет использоваться именно он, соответственно, во избежание недоразумений, просто скопируйте его с папки родительской темы(если он там есть, иначе см папку модуля system), ибо обрабатываемые в нем переменные могут быть нестандартными, и изменяйте как Вам угодно. Так же добавляйте свои css файлы через файл .info, в которых добавляйте свои стили либо перекрывайте родительские, только тут есть одна тонкость, если имя css файла совпадет с одним из родительских, то родительский будет проигнорирован, что удобно, если нужно отключить какой-либо css файл, не забывайте после всех этих манипуляций чистить соответствующий кеш.

Аватар пользователя Crossingover Crossingover 26 июля 2013 в 1:14

мда... что-то печалит меня разбор globas.styles.scss, там 2000 строк кода и в global.base.scss еще 1000... Товарищи, поделитесь опытом, чтобы свой дизайн сделать может быть проще почистить все css файлы и с нуля начать их писать, чтобы было понятно что и где располагается и почему тут так? Когда гляну на все это хозяйство - руки опускаются начинать..
По идее сабтема AT Adaptive Theme ведь пустая с точки зрения оформления - но 3000 строк стилей уже есть 8((((((((

Аватар пользователя multpix multpix 26 июля 2013 в 2:28

"Crossingover" wrote:
нуля начать их писать, чтобы было понятно что и где располагается и почему тут так?

вот вот, просто делай свою тему с чистого листа.

Аватар пользователя sg85 sg85 26 июля 2013 в 9:41

"Crossingover" wrote:
Товарищи, поделитесь опытом, чтобы свой дизайн сделать может быть проще почистить все css файлы и с нуля начать их писать, чтобы было понятно что и где располагается и почему тут так? Когда гляну на все это хозяйство - руки опускаются начинать..

"multpix" wrote:
вот вот, просто делай свою тему с чистого листа.

могу лишь дополнить - затерев все CSS, у Вас останутся файлы шаблонов, которые Вы также собрались менять, после чего остается лишь логика темизации(template.php и гора inc`ов), посмотреть что это за логика можно на странице загрузки темы на д.орге, если Вы не знаете на кой Вам все это сдалось, то советую вообще забить на AT и сделать полностью свою тему, как результат - сюрпризов в будущем будет меньше, кроме того, появится хоть какой-то смысл использования всяких там SASS`ов и HAML`ов, раз уж так их хотелось, только учтите, что drupal из коробки со всем этим делом работать не умеет.

"Crossingover" wrote:
По идее сабтема AT Adaptive Theme ведь пустая с точки зрения оформления - но 3000 строк стилей уже есть 8((((((((

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

"Crossingover" wrote:
что-то печалит меня разбор globas.styles.scss, там 2000 строк кода и в global.base.scss еще 1000...

На выходе эта тема так же использует обычный CSS, друпал с SASS и её производными напрямую работать не умеет, что там за стили, вы можете узнать посмотрев на это дело через фаербаг или аналоги, список CSS файлов можно увидеть в .info темы

Не забывайте так же, что у друпала имеется еще и стандартный набор стилей

Аватар пользователя Crossingover Crossingover 27 июля 2013 в 15:43

multpix,sg85, спасибо за помощь, начинаю с пустых css, часть .tpl.php планирую модифицировать и добавить новые (например для главной страницы)!

"sg85" wrote:
если Вы не знаете на кой Вам все это сдалось, то советую вообще забить на AT и сделать полностью свою тему, как результат - сюрпризов в будущем будет меньше, кроме того, появится хоть какой-то смысл использования всяких там SASS`ов и HAML`ов, раз уж так их хотелось, только учтите, что drupal из коробки со всем этим делом работать не умеет.

я выбрал эту тему, т.к. у меня есть определенные требования к дизайну и темы с готовым интерфейсом мне не подходят. А про AT написали, что там много регионов, нет темизации + адаптивное отображение под разные форматы экранов. И я думал, что сделаю нужную мне темизацию правкой css (но потом наткнулся на описание scss, поставил модули для автокомпиляции - и все. Я не специалист в css, поэтому подумал, что все равно с чего начинать - писать в css или SASS), и на халяву получу небольшими настройками корректное отображение на других устройствах... Я очень наивен и волшебства не бывает?
И еще вопрос, если я перепишу полностью css я не потеряю те вкусняшки, которые теоритически может дать тема на основе AT?

Аватар пользователя sg85 sg85 27 июля 2013 в 17:01

Регионов и в ядре по самые помидоры(мне как раз таки чаще приходится от них избавляться, чем добавлять новые), кроме того, есть замечательный модуль panels, если необходимо в один регион засунуть еще десяток.
Адаптивное отображение от части работает за счет той горы CSS, которую Вы собрались переписывать.
Использовать SASS или нет, это на Ваше личное усмотрение, при полном переписывании стилей смысл в SASS будет.
Единственное, что там остается, так это программная состыковка с некоторыми модулями, которые тем или иным способом могут использоваться для отображения, например, mobile detect, однако, если обладаете навыками программирования в PHP, то и это Вам не надо, ибо вероятнее всего готовое решение(в темизации) Вас не устроит и Вы его все равно переделаете.
На сколько мне тут смогли разъяснить, подобные темы у профессионалов используются только при постановке верстки на конвеер(скажем так, перевод ползунка из положения качества, в количество).

Аватар пользователя Crossingover Crossingover 27 июля 2013 в 17:35

sg85, да, так и есть, регионов много, большинство я не использую (но они же есть не просят, если блоков в них не вставлять). Да, Panels планирую использовать.
sg85, я правильно понимаю, что в моем случае проще использовать другую тему, также переписав все css? Хотя чем она по сути будет отличаться он AT тогда?
Цели ставить разработку сайтов на поток у меня нет. Просто хочу сделать сайт используя свое видение интерфейса, при этом для первой версии потратить минимальное время и чтобы сайт был максимально адаптивным с минимальными затратами на разработку. Приоритетами же является интерфейс и затраченное время.
Вообще я с этой тематикой сталкнулся второй раз, первый раз проба на www.aspromsoft.ru - просто сделал html + css + jQ (частично сгенеренная, потом мучительно правленая), потом понял, что без cms не обойтись, начал прикручивать simple cms - плюнул, понял, что нужно все заново сделать по другому. Сейчас хочется сделать вдумчиво и правильно (оптимально) сразу 8D Понятно, что тема в принципе достаточно сложная, и для оптимальности нужен опыт - вот тут я и хочу его на халяву получить, изучая бест практис (как раз тут, общаясь с экспертами).

Аватар пользователя sg85 sg85 27 июля 2013 в 18:56

"Crossingover" wrote:
я правильно понимаю, что в моем случае проще использовать другую тему, также переписав все css? Хотя чем она по сути будет отличаться он AT тогда?

Если не нужны заявленные возможности AT, то проще сделать полностью свою, с чистого листа
"Crossingover" wrote:
да, так и есть, регионов много, большинство я не использую (но они же есть не просят, если блоков в них не вставлять). Да, Panels планирую использовать.

Ну не писать же заказчику при сдаче, мол, если выставить блок в такой то регион, то он работать не будет... это по сути является "халтурой".

На самом деле, файлы шаблонов(*.tpl.php) трогать приходится довольно редко, только разве что для каких-то особо частных случаевв или если же нужен HTML5 в полном объеме, а вот без правок в template.php у меня пока ни разу не обходилось, при том даже на визитках.

Аватар пользователя Crossingover Crossingover 28 июля 2013 в 15:49

возможность иерархичной (вложенной) записи селекторов в scss - это прелесть! Думал уже убить модуль, а нет, очень удобно Smile

Аватар пользователя multpix multpix 28 июля 2013 в 18:16

"Crossingover" wrote:

да, синтаксис приятный))
и динамичность

если это надо то кури уж изначально руби и рельсы))
накой те этот друпал.

Аватар пользователя Crossingover Crossingover 28 июля 2013 в 21:13

multpix, спасибо, погляжу обязательно, что за зверь, когда эту задачу добью.
Еще бы софтину которая анализирует всю структуру и оптимизирует css код.. а то часть базовых css оставил, которые с AT шли иначе регионы совсем разбегаются, и приходится сейчас через дебагер вылавливать в html селекторы и переписывать их свойства, соответственно будет медленней открываться сайт (когда в итоге будет 10 тыс строй css, перекрывающих друг друга, вместо 1000 чистых).

Аватар пользователя toshic toshic 29 июля 2013 в 4:52

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

Аватар пользователя PVasili PVasili 29 июля 2013 в 22:11

"multpix" wrote:
если это надо то кури уж изначально руби и рельсы))
накой те этот друпал.

абсолютно без разницы что и в чём курить...

"toshic" wrote:
наверное это просто стало бесмесленной модой ибо кроме неудобства использования ничего другого не вижу. на сайтах с мобильными версиями приходится искать ссылку на полную версию

наверное это так сайт сделан, что неудобно Smile