Использование блоков и регионов при разработке своей темы

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

Аватар пользователя roman-yrv roman-yrv 1 ноября 2013 в 17:38

Добрый день.

Такой вот вопрос - в основном, логическо-организационный.

Скажите пожалуйста, вот если делать темизацию проекта на Drupal 7, у которого оригинальный дизайн и независимая верстка, то имеет ли смысл при разработки темы проектировать её структуру как набор блоков и регионов ?

Или ничего страшного не будет в том, что просто не заморачиваться с этим, а использовать функции темизации, а также при необходимости руками проверять условие отображение какого-то фрагмента на определенной странице (if роль пользователя такая-то, то print theme такая-то, иначе print theme другая ) ?

Такой задачи, чтобы потом проектом управлял какой-то админ, который бы в админке настраивал и перенастраивал эти блоки, не стоит.

Комментарии

Аватар пользователя adubovskoy adubovskoy 1 ноября 2013 в 18:31

"roman-yrv" wrote:
ли ничего страшного не будет в том, что просто не заморачиваться с этим, а использовать функции темизации, а также при необходимости руками проверять условие отображение какого-то фрагмента на определенной странице (if роль пользователя такая-то, то print theme такая-то, иначе print theme другая ) ?

плохой подход

"roman-yrv" wrote:
Такой задачи, чтобы потом проектом управлял какой-то админ, который бы в админке настраивал и перенастраивал эти блоки, не стоит.

пишите тогда чистый html. А так вы загоните проект в тупик и сделаете неподдерживаемым.

Omega + layouts + context, ds, panels на худой конец. Есть куча архитектурно проверенных способов. Да, требуется почитать, но лучше сейчас чем через год, когда нужно будет разбираться в том что понаписано.

Аватар пользователя roman-yrv roman-yrv 10 ноября 2015 в 11:49

Вот сейчас разбираюсь с возможностями Panels ...

Вот вы пишите, что для темизации лучше использовать Display Suite, Context, Panels и т.д.

А вот если дизайн тизера одного типа ноды представляет собой следующее:

То есть, здесь и служебные ссылки, и флаги.

В этом случае лучше тоже вывести с помощью display suite или panels поля (если требуется сделать какие-то действия перед этим с полями, то сделать это тут же) и далее уже в теме править css, подтягивая верстку, чтобы она соответствовала такому дизайну ?

Или лучше, чтобы верстальщик сделал верстку, а потом уже эту верстку с помощью стандартной темизации типа node--NODE-TYPE.tpl.php всё это темизировать ?

Как, по Вашему опыту, будет быстрее и лучше ?

Аватар пользователя adubovskoy adubovskoy 23 декабря 2013 в 17:08

1. Через ds вы можете сделать вывод тизера.
2. Посмотрите видео https://www.video2brain.com/en/lessons/using-display-suite-dynamic-fields . Воткните все что вам нужно в вывод тизера.
3. CSS-ing.
----
хотя там же наверняка - список тизеров. Вам views нужен и все.

Аватар пользователя roman-yrv roman-yrv 23 декабря 2013 в 19:16

Понятно, спасибо за разъяснение.

А вот такой вопрос ...

Есть ли у Display Suite возможность хранить код поля не в своей базе данных, а в отдельном файле ?

Например, я создаю некое code field, код которого намного проще и удобнее редактировать не в том многострочном текстовом поле, которое находится на форме, а в своём редакторе разработчика. Чтобы были и отступы, и ключевые слова, и т.д.

Или в этом случае нужно создавать не code field, а preprocess field ?

Аватар пользователя adubovskoy adubovskoy 23 декабря 2013 в 20:09

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