Skip to Content

Давайте сделаем это на Drupal!

Современные сайты редко создаются без использования CMS или CMF, так как построение фундамента проекта на готовых и эффективных решениях значительно оптимизирует процесс разработки. Чем сложнее функционал создаваемого сайта, тем "монструознее" выбираемая платформа. При этом требования к навыкам разработчика также возрастают, несмотря на кажущееся упрощение задачи - те же Joomla, Drupal, Wordpress, уже "умеют" очень многое, как говорится, right out of the box.

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

drupal

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

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

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

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

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

1) Первое и самое главное, что стоит усвоить и постоянно держать в голове. Прежде чем писать какой-либо модуль, убедитесь, что он не был написан до вас!
В идеале, заставьте себя открыть раздел модулей и изучить весь этот бесконечный список. Не удивляйтесь, если в процессе вы вдруг начнете массово неконтролируемо скачивать модули, так, прозапас.

2) Пожалуй, наиболее часто используемые функции Drupal - это построение форм с помощью Forms.api, имплементация hook-oв (например, hook_user), а также функции темизации (скажем, theme_form). Поэтому чем быстрее вы освоитесь в них, тем меньше проволочек будет в процессе разработки.

3) Создавая свои модули, всегда старайтесь делать это с оглядкой на интеграцию с другими модулями, написанными умными и зарекомендовавшими себя людьми :) Это поможет избежать ситуаций, когда вы вдруг оказываетесь перед выбором - переделывать немалую долю уже выполненной работы, чтобы связать свой модуль с готовым, либо писать свой аналог готового модуля, что часто гораздо трудозатратнее.

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

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

6) Многие недооценивают роль таксономии в Drupal, видя в ней лишь очередную инкарнацию тэгов. По сути же, таксономия это инструмент для иерархического структуирования контента, назначения и определения категорий, и вообще всего, что связано с фильтрацией и катологизацией информации! Например, с помощью системы словарей можно создать нестандартный категориальный поиск по всей информации, доступной на сайте, включая пользователей, которые не являются контентом как таковым. Но об этом как-нибудь в другой раз.

7) Скачайте и установите модуль Devel и начинайте привыкать использовать функцию dpr() вместо print_r(), а также запомните магический адрес "/devel/cache/clear ", который быстро и надежно очистит неотключаемое кэширование друпаловской системы меню. Очищать его придется частенько в случае, если ваши модули будут включать в меню (грубо говоря список доступных страниц) свои собственные страницы. Данный модуль предоставляет и такие полезные функции, как расширенные логи производительности, просмотр генерируемых страницей SQL запросов и много другое.

Вероятно приведенные выше советы, покажутся слишком очевидными, либо наоборот излишними. Мы их в полной мере осознали, что называется, hard-way - на собственных ошибках. Возможно через эти ошибки обречен пройти каждый разработчик CMS Drupal. В любом случае, пожелаем вам удачи, и да прибудет с вами сила Drupal-а :)

Комментарии

Статья хорошая и

Статья хорошая и поучительная Smile Но мне лично ещё больше понравилась статья про Работу бесплатно Smile

Можно вопрос - а каким конкретно плагином jQuery Вы делали окошечко - в котором показан сайт, на которую ведёт соответствующая ссылка? Извините за вопрос не по теме Smile

Спасибо за отзыв Плагин

Спасибо за отзыв Smile
Плагин Websnapr
А для иконки внешнего линка, справа которая - External Links

Браво, блестящая идея и

Браво, блестящая идея и своевременно

(Тема не указана)

Shock Stare

Что не говори - заметельный

Что не говори - заметельный пост!

ауди 80 ауді 80 огляди metal

ауди 80 ауді 80 огляди metal fonts christmas fonts шрифты тату шрифты автомобили mercedes-benz автомобили mercedes seropol5

компания, которая производит

компания, которая производит и реализует изделия

[url=http://gptstal.ru/production/listovaya-stal-porezka-metala]Листовая сталь[/url] Резка металла

[url=http://gptstal.ru/production/listovaya-stal-porezka-metala]Стальные профили[/url] Стальной металлический гнутый профиль

компания, которая производит

компания, которая производит и реализует изделия
Листовая сталь Резка металла
Стальные профили Стальной металлический гнутый профиль

Компания, которая занимается

Компания, которая занимается продажей автоколес, предлагает вам: Популярное топ шины , топ диски

Компания, которая занимается

Компания, которая занимается продажей автоколес, предлагает вам: Популярное топ шины , топ диски

Профессиональное создание и

Профессиональное создание и раскрутка сайтов у нас: Создание сайтов создание web сайта киев; Контекстная реклама сайта Создание и ведение рекламной кампании

А я вот только начал

А я вот только начал разбираться. Тему сайта пока сделал в Артистере (знаю, гуано).
Но уже многое изменил и улучшил. Но не пойму, как и где загнать в переменную, например $head то, что хочу

А я вот только начал

А я вот только начал разбираться. Тему сайта пока сделал в Артистере (знаю, гуано).
Но уже многое изменил и улучшил. Но не пойму, как и где загнать в переменную, например $head то, что хочу

Отправить комментарий

Содержание этого поля является приватным и не предназначено к показу.
Smileys
:):D:bigsmile:;):p:O:|:(:~:((8):steve:J):glasses::party::love:
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Доступны HTML теги: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <img> <span> <div> <h2> <h3>
  • Строки и параграфы переносятся автоматически.
  • You can enable syntax highlighting of source code with the following tags: <code>, <blockcode>, <c>, <cpp>, <drupal5>, <drupal6>, <java>, <javascript>, <php>, <python>, <ruby>. Beside the tag style "<foo>" it is also possible to use "[foo]". PHP source code can also be enclosed in <?php ... ?> or <% ... %>.
  • Image links with 'rel="lightbox"' in the <a> tag will appear in a Lightbox when clicked on.
  • Image links from G2 are formatted for use with Lightbox2
  • Textual smileys will be replaced with graphical ones.
  • You may insert videos with [video:URL]

Подробнее о форматировании

Type the characters you see in the picture above; if you can't read them, submit the form and a new image will be generated.

CAPTCHA
Докажи, что ты не киборг!
Image CAPTCHA
Copy the characters (respecting upper/lower case) from the image.