Процесс быстрой разработки сайта на Drupal 7

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

Аватар пользователя roman-yrv roman-yrv 19 января 2014 в 12:39

Добрый день.

Уважаемые друпалеры со стажем и не только, хочу задать такой вот организационный вопрос.

Поделитесь, пожалуйста, опытом и мыслями, каким образом лучше всего можно организовать быстрый процесс производства сайтов на Drupal 7.

Классический способ, которым ранее мы пользовались, следующий:

1. Постановка задачи и проектирование структуры сайта и шаблонов
2. Дизайнер рисует эти шаблоны.
3. Верстальщик всё это верстает.
4. Программист натягивает верстку на CMS.

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

И если делать относительно несложные сайты на системах типа MODx, то это метод нормально работает.

А вот если таким образом работать на Drupal 7, то возникают следующие проблемы.

- Программисту нужно заниматься кучей "мартышкиного труда", адаптируя стили и верстку, сделанную верстальщиком, к тому html-коду, который сгенерировал Drupal.

- Могут возникнуть проблемы впоследствии, когда понадобится подключить какие-либо модули или просто расширить возможности.

Например, если таким образом перетемизировали форму работы с личными сообщениями, а потом оказывается, что нужно, чтобы к личному сообщению можно было приаттачивать несколько файлов.
Или дизайнер нарисовал красивую форму ввода комментария, верстальщик её сверстал, программист - оттемизировал. А вот если возникнет в будущем необходимость прицепить какую-нибудь капчу к комментарию (сторонний модуль), то она или вообще не будет отображаться, или будет, но абсолютно без всякой компоновки.

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

В итоге работать, конечно, будет, но времени и нервов на всё про всё уходит непозволительно много.

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

Вот хочу у уважаемых друпалеров проконсультироваться по поводу того, как они организуют этот процесс.
И можно ли организовать процесс, если программист не владеет профессионально версткой (чтобы взял любой PSD-макет и сам мог его сверстать на высоком уровне) ?

Комментарии

Аватар пользователя sergeybelya sergeybelya 19 января 2014 в 12:43

Мое мнение: в процессе разработки сайта среднего уровня сложности на Друпал программирование достаточно знать на примитивном уровне, верстальщик в этой схеме лишний, нужен веб-мастер, владеющий HTML/CSS, JQuery и основами PHP.

Аватар пользователя Artu Artu 19 января 2014 в 13:30

"roman-yrv" wrote:
- Программисту нужно заниматься кучей "мартышкиного труда", адаптируя стили и верстку, сделанную верстальщиком, к тому html-коду, который сгенерировал Drupal.

Создание темы работа не программиста, а верстальщика. Создавая Друпал верстку сразу, вы экономите время.

"roman-yrv" wrote:
Например, если таким образом перетемизировали форму работы с личными сообщениями, а потом оказывается, что нужно, чтобы к личному сообщению можно было приаттачивать несколько файлов.
Или дизайнер нарисовал красивую форму ввода комментария, верстальщик её сверстал, программист - оттемизировал. А вот если возникнет в будущем необходимость прицепить какую-нибудь капчу к комментарию (сторонний модуль), то она или вообще не будет отображаться, или будет, но абсолютно без всякой компоновки.

Может вы неправильно темизируете?

Аватар пользователя Plazik Plazik 19 января 2014 в 13:44

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

И да, версальщик лишний, пусть программист сразу натягивет дизайн на сайт.

Аватар пользователя roman-yrv roman-yrv 19 января 2014 в 14:05

"Artu" wrote:
Создание темы работа не программиста, а верстальщика. Создавая Друпал верстку сразу, вы экономите время.

"Plazik" wrote:
И да, версальщик лишний, пусть программист сразу натягивет дизайн на сайт.

Вот уже разногласия ...

Просто в случае 1 верстальщик должен иметь хорошее представление о Drupal, а в случае 2 программист должен быть также и верстальщиком (уметь работать с PSD-макетом, знать нюансы верстки и т.д.)

А если поступить таким образом ?

1. Прорабатывается структура сайта.

2. Дизайнер отрисовывает эскизы.

3. Программист генерирует макет сайта на основе пропорций, которые есть в дизайне (например, шапка - столько-то на столько-то, левый регион - столько-то в ширину, центральный - столько-то ... и т.д. ). Для получения данного макета, думаю, существуют готовые базовые темы. И в этом макете программист определяет регионы и заполняет их блоками.
Здесь же организуется вывод содержимого нод, терминов, views и т.д.
На выходе получается работающий сайт, но без CSS - инга и некоторых дизайнерских заморочек.

4. Далее всё это дорабатывает уже верстальщик. Где нужно, там - определяет CSS элементов, названия которых уже сгенерированы друпалом + программистом.
Ну и если на сайте присутствуют какие-либо дизайнерские заморочки, которые программист не смог реализовать, то верстальщик это доверствывает руками уже в файл *.tpl.php.

5. Далее при необходимости программист что-то дописывает. Например, вставляет, где нужно, JQuery, или еще что-то доделывает ...

Аватар пользователя Artu Artu 19 января 2014 в 14:53

"roman-yrv" wrote:
Просто в случае 1 верстальщик должен иметь хорошее представление о Drupal, а в случае 2 программист должен быть также и верстальщиком (уметь работать с PSD-макетом, знать нюансы верстки и т.д.)

1-е проще и правильнее,представление о друпал верстке, это темизатор.

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

Аватар пользователя Artu Artu 19 января 2014 в 14:20

"roman-yrv" wrote:
5. Далее при необходимости программист что-то дописывает. Например, вставляет, где нужно, JQuery, или еще что-то доделывает ...

да

Аватар пользователя roman-yrv roman-yrv 19 января 2014 в 16:00

"ХулиGUN" wrote:
Я работал по такой схеме - всё было норм. Единственное что пункты 1 и 2 выполняет один человек.
Эта схема работает в том случае, если Вы делаете дорогие сайты с эксклюзивным дизайном и функционалом. В противном случае - много лишней работы
Если делать средний уровень, то в данном случае достаточно иметь наличие шаблонных сборок(по функционалу) для разных типов сайтов(магазин, портал, промо, визитка), макеты делаются на основе готовой структуры, верстальщик работает в основном с css. Программер вмешивается только в добавление кастомного кода

В общем, уточняю ситуацию ...
У меня, возможно, в недалеком будущем появится возможность получать много заказов на разработку сайтов.
Дизайн планируется эксклюзивный и с адаптивной версткой, а функционал - стандартный (либо, стандартный + какие-то мелкие кастомные вещи)
Я сам планирую взять на себя общение с заказчиками, проектирование и программирование.
Дизайном, а также навыками верстки эксклюзивного дизайна я, к сожалению, не владею.

Поэтому я вот думаю поступать таким вот образом.

1. Уточняю у клиента, что ему надо, и делаю постановку задачи.
2. Сам проектирую структуру сайта - какие должны быть страницы и что выводиться на этих страницах
3. Сам же проектирую, какие сущности понадобятся для хранения этой информации.
4. Насчет проектирования макетов - тут надо подумать, мне это делать или пусть дизайнер думает ...
5. После того, как дизайнер отдаёт дизайн, я делаю тему с компоновкой, как в дизайне, в теме прописываю блоки и регионы, делаю вывод контента. И к этой теме подключаю пустые css-файлы. Возможно, даже у этой компоновки не прописывать размеры - пусть это сделает верстальщик.
6. Далее за эту тему берется верстальщик, который в этих css-файлах прописывает стили для элементов. И также он доверстывает то, чего еще нет. Например, всяческие дизайнерские изыски, для которых не нашлось соответствующих модулей.
7. После того, как верстальщик свою работу сделает, я допишу JQuery при необходимости, а также при необходимости какие-то другие возможности.

Как думаете, такая схема будет нормально работать ?

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

Аватар пользователя VasyOK VasyOK 19 января 2014 в 18:18

3+4 обычно делаю я.
Но если вы работаете с людьми которые хорошо понимают друг друга и грамотно делают свою работу - подойдет любая схема. А как назвать этих людей программист, дизайнер или верстальщик - это не важно.

Аватар пользователя roman-yrv roman-yrv 19 января 2014 в 19:12

"ХулиGUN" wrote:
Всегда считал, что js это работа верстальщика)))

Ну, если JQuery ориентируется на работу с данными через Ajax, то на одного верстальщика лучше не надеяться.
Тем более, если верстальщик не разбирается в Drupal.

Скажите, а вот каким средством, на Ваш взгляд, лучше пользоваться для того, чтобы на основе дизайна собрать заготовку темы для верстальщика ?
И чтобы при этом можно было делать тему адаптивной.

Какое решение сейчас является наиболее перспективным ?

Panels использовать не хочется.

Я слегка потестировал AdaptiveTheme, Aurora с возможностями Singularity GS и Omega 4 с Singularity GS.

На чем-то из этого лучше остановиться или есть еще что-нибудь хорошее и удобное ?

Аватар пользователя roman-yrv roman-yrv 19 января 2014 в 20:16

Да не то, что тяжелые ...

Сам подход какие-то сомнения в глубине души вызывает.

По уму, если использовать Panels, то тогда нужно уже весь сайт проектировать на panels ...

Аватар пользователя roman-yrv roman-yrv 19 января 2014 в 20:56

"ХулиGUN" wrote:
Когда использовал друпал у меня была универсальная заготовка темы вместе со стилями, js и полным набором необходимых функций в template.php, что-то вроде велосипедного бутстрапа. Нужное оставлял, ненужное удалял... Никогда в своей практике не использовал ни одной темы с орга либо других сайтов

Понятно. А скажите пожалуйста, в этой заготовке учитывалась респонсивность ?

Аватар пользователя roman-yrv roman-yrv 21 января 2014 в 0:24

Прочел статью.

Я решил пойти немного другим путем.

А именно, настроил себе cass/compass + singularity gs (спасибо Александру Дубовскому за рекомендацию), причем удалось настроить NetBeans 7.4, чтобы он автоматом компилировал sass в css.

Правда, энное время пришлось провозиться, чтобы это всё настроить под Windows (там нужно было ruby устанавливать, потом донастраивать, попутно пришлось много англоязычного материала перешерстить), но результат того стоит.

Singularity GS позволяет без проблем кодировать через SASS сетку и расположение блоков, а библиотека breakpoint очень облегчает прописывание вариантов отображения с различными (причем, любыми) разрешениями экрана.

Есть еще и много других библиотек.

Аватар пользователя toshic toshic 21 января 2014 в 9:14

whellcome wrote:
Хорошее руководство по созданию инструмента для быстрого изготовления тем: http://habrahabr.ru/post/172213/ возможно пригодится.

С папки модуля system копируются нужные шаблоны в тему и пилятся как надо. В случае сетки достаточно иметь для начала один css файл с разметкой сетки и в шалоны к дивам прописываются нужные классы. А там уже точная доводка, то есть собственно темизация вьюсов и прочих плюшек. И всегда будет все свое, на зависимое от сторонних производителей.

Аватар пользователя vbard vbard 21 января 2014 в 3:16

мне очень помогло http://www.youtube.com/playlist?list=PLLnpHn493BHH5nnK2dKE_42l1oXA6Tq6H
создателю этих уроков памятник ставить. Но настраивать это всё под виндовс я даже начинать не стал, настроил на VDS. Теперь страдаю без отладчика, но, как я понял, удалённой отладки в природе нет. Если у кого другая инфа - ещё один памятник буду готовить.

Аватар пользователя roman-yrv roman-yrv 21 января 2014 в 8:39

Ну, если из настройки под windows самое сложное - это установить Ruby и установить пакеты, то у меня это получилось.

А в качества отладчика хорошо подходит тот же NetBeans 7.4 - вплоть до того, что позволяет делать пошаговое выполнение.

И, кстати, его тоже получилось настроить так, чтобы он при сохранении SASS или SCSS-файла автоматически компилировал его в CSS-файл.

Если не ошибаюсь, была с Ruby проблема, когда ранее на windows у меня имя пользователя было русскими буквами. А недавно windows переустановил, так это учёл и сделал имя пользователя латинскими буквами.

Можно попробовать у себя поставить какой-нибудь Linux в качестве второй операционки. Под него есть тот же NetBeans, а остальное, как я понял, будет так же или почти так же, как и на VDS ...

А за ссылку - большое спасибо, посмотрю эти уроки и оценю возможности этой "Омеги".