mr_T
@mr_T
Web-разработчик

Какое ваше мнение о Drupal?

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

Я активно использую 2 системы управления контентом - Drupal и 1С-Битрикс. Так же знаком с WordPress и Joomla.
Все эти системы имеют, само собой, свои достоинства и недостатки, но все же из всех них больше всех мне нравится именно Drupal.
Я хотел бы узнать мнение людей, которые тоже имели возможность сравнивать разные решения, какая система им нравится больше и почему, а так же получить ответы на ряд вопросов.

Итак, вопросы:
1) Почему считается, что друпал сложно темизировать? Лично я просто переопределяю все стандартные шаблоны регионов, блоков и т.п. и чищу код там, в итоге избавляясь от всех проблем темизации, так как сам указываю, что выводить, во вполне конкретном виде. Конечно, это может убрать много полезных функций типа contextual links, но если они нужны - кто мешает их включить в собственном коде?
2) Действительно ли друпал очень медленный? Медленней ли он того же битрикса?
3) Этот вопрос к тем, кто имел дело с интернет-магазинами на друпале: стоит ли вообще делать на нем интернет-магазины? Мое мнение таково, что удобнее на битриксе, но с уберкартом у меня были очень недолгие отношения, вряд ли я в нем хорошо разобрался.
4) Если вы имели дело с формами на сайте, подскажите, как лучше их реализовать, чтобы получился некий аналог форм в битриксе - с почтовыми шаблонами, настройкой вопросов и т.д. и т.п. Здесь у меня возникали проблемы именно с темизацией, то есть хотелось бы просто вывести, например, блок с формой, на которую есть готовая верстка и стандартная разметка друпала по этой причине не устраивает.
5) Есть люди, которые сравнивают инфоблоки битрикса с нодами друпала. Как по мне - ноды в кипе с таксономией в пух и прах разбивают инфоблоки. У кого другое мнение и почему?
6) Действительно ли вам показался друпал сложным в освоении (как программистам, разумеется) в сравнении с другими системами? Я считаю, что достаточно понять фиолософию хуков, что не очень сложно, а дальше уже пойдет как по маслу, тем более с подробной документацией на drupal.org (вы же знаете английский достаточно, чтобы читать техническую документацию?).
7) Как вы темизировали хлебные крошки и постраничную навигацию? На мой взгляд, разработчики друпала были сильно не правы, не реализовав их через файлы шаблонов. Я понимаю, что можно вывести их в шаблоны ручками, но, согласитесь, это не самое лучшее решение.
8) И напоследок: какую CMS любите вы и почему? Особенно интересует НЕ друпал.
  • Вопрос задан
  • 5263 просмотра
Пригласить эксперта
Ответы на вопрос 7
andead
@andead
друпал девелопер, фрилансер
1) Почему считается, что друпал сложно темизировать?


Друпал сложно правильно темизировать. Достаточно тяжело понять всю систему из theme функций/файлов, preprocess/process функций, theme sugestions, render массивов, различных pre_build/after_build/post_build калбаков, theme врапперов, кэширования и т.п. Наговнокодить прямо в шаблоне большого ума не надо.

2) Действительно ли друпал очень медленный?


Друпал, как и любая другая CMS, медленнее узкоспециализированных систем в виду своей избыточности. Голый друпал 7 на средней машине генерит странички за ~100 ms. Решайте сами, это очень медленно или нет.

3) Этот вопрос к тем, кто имел дело с интернет-магазинами на друпале: стоит ли вообще делать на нем интернет-магазины?


Если нет хорошего скила или денег на соответствующего разработчика, то не стоит.

4) Если вы имели дело с формами на сайте, подскажите, как лучше их реализовать, чтобы получился некий аналог форм в битриксе


Популярно — Webform. Правильно — Entityforms.

6) Действительно ли вам показался друпал сложным в освоении (как программистам, разумеется) в сравнении с другими системами?


Нет. Какой-нибудь Symfony 2 на порядок сложнее будет.

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


Они реализованы theme функциями theme_breadcrumb и theme_pager. Функции мало чем отличаются от шаблонов — их так же можно переопределять, процессить и использовать через theme('...').
Ответ написан
kalabro
@kalabro
Во-первых, я полностью согласна с @andead. Спасибо за отличный ответ, man!

Позволю себе небольшие дополнения как битрикс-разработчик.
1) Почему считается, что друпал сложно темизировать?

Наговнокодить прямо в шаблоне большого ума не надо.

Правильно темизировать и битрикс нелегко. Другой разговор, что оставить в шаблоне друпала $_SESSION в 100 раз хуже, чем оставить тоже самое в шаблоне битрикса. Процесс темизации и той, и другой CMS должен контролировать понимающий систему программист.

2) Действительно ли друпал очень медленный? Медленней ли он того же битрикса?

В битриксе каждый «блок» (часть страницы) можно независимо закешировать на основе идентификаторов групп пользователя, значений фильтра каталога и чего угодно. Обёртка $this->StartResultCache() как отче наш в любом коде и в стандартных компонентах из коробки. В итоге страница быстро собирается из кешей для людей с сессией, авторизацией и т.д. В друпале нужно стремиться к этому же, но для этого приходится писать свои кеш-плагины к Panels, шаманить с Expire и даже ESI и понимать всякие тонкости работы друпал-кеширования (drupalace.ru/tags/cache).
В битриксе всякие панели производительности и мониторы качества из коробки. В друпале это "энтерпрайз"-услуга :)

3) Этот вопрос к тем, кто имел дело с интернет-магазинами на друпале: стоит ли вообще делать на нем интернет-магазины? Мое мнение таково, что удобнее на битриксе

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

5) Есть люди, которые сравнивают инфоблоки битрикса с нодами друпала. Как по мне - ноды в кипе с таксономией в пух и прах разбивают инфоблоки. У кого другое мнение и почему?

Инфоблоки гораздо мощнее просто нод из коробки. Опыт работы с тем и другим >2 лет. Сравнивать можно сущности в друпале и инфоблоки в битриксе. Вот здесь уже друпал (вместе с Entity API, конечно) смотрится гораздо серьёзней и гибче. Битрикс выглядит глупо, когда нужно что-то странное, друпал же позволяет воротить что угодно.

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

Webform/Entityforms гораздо проще битрикса в плане собственно форм, просто надо привыкнуть. А вот email-подсистема в друпале послабее. В друпале если что-то делают, то только со вселенским размахом :) Как пример, Message Stack :)

Действительно ли вам показался друпал сложным в освоении (как программистам, разумеется) в сравнении с другими системами?

Спустя 2 года я нахожу что-то новое и очень крутое в друпале или благодаря друпалу. Не могу ответить на этот вопрос, т.к. продолжаю учиться :)

Как вы темизировали хлебные крошки и постраничную навигацию?

Пользуясь случаем, пропиарю модуль Path Breadcrumbs, ко-мейнтейнером которого гордо являюсь. В нём переопределяется theme_breadcrumb() для добавления поддержки Rich Snippets: drupalcode.org/project/path_breadcrumbs.git/blob/c...
С помощью того же hook_theme_registry_alter() вы можете заставить крошки темизироваться через файл, а не функцию.

Друпал люблю больше из-за качества кода и сообщества.
Ответ написан
kissarat
@kissarat
Node.js
Не видел ничего более простого и мощного как Drupal. Это - любовь с первого взгляда.
Перед знакомством с Drupal я не очень охотно использовал всякие "надстройки над апи" т.е. фреймворки и библиотеки, в частности потому что не позволяли писать меньше кода (а, следовательно, делать отладку более быстрой), а лишь структурировали его, делали его более декларативным. Да и вообще, я не хотел иметь что-то общее с PHP)))
Но то, что позволяет Drupal - невообразимо. Единственное ограничения, которое накладываться на программиста - это структура БД и это при том, что можно полностью, весьма гибко, использовать существующую структуру, так и создавать свои таблицы/вюхи, свьязивая их с уже существующими сущностями и получая тоже самое если бы свои структуры не использовались, т.е. возможность использовать скачанные модули для "совсем собственного" функционалу.
Не знаю можно ли назвать недостатком процедурный стиль. Т.е. пока я вижу преимущество простоты, которое, к тому же, не накладывает ограничений на использование ООП. Но с появлением Drupal 8 мне видеться раскол такой же, который был когда появился Python 3. Т.е. сейчас существует два независимы, хоть и совместимы языка - Python 2.* и Python 3.*

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

Для магазинов - предпочитаю однозначно Opencart.
Для всего остального... из распространенных мне удобнее - Джумла. Она отлично поддается любой кастомизации. К тому же - очень легко чистится и оптимизируется, после чего просто летает.
Ответ написан
если для интернет магазина - посмотрите в сторону opencart , шустрый, модули, MVC. Очень нравиться мне.
Ответ написан
Комментировать
miraage
@miraage
Старый прогер
Не работал с друпалом, но, такой серьезный проект, как league of legends имеет сайт на друпале.
Ответ написан
mr_T
@mr_T Автор вопроса
Web-разработчик
По поводу почтовых уведомлений (если этот вопрос еще вообще кто-то смотрит): надо было просто покопаться в модуле Rules, который обеспечивает в частности функционал отправки почты и на мой взгляд даже на более крутом уровне, чем в битриксе. Хотя, наверное, в нем будет сложнее разобраться простым смертным, но давайте будем честны с самими собой - когда пользователи (заказчики) сами такой функционал настраивают? Все равно это всегда делает программист)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы