Как стать автором
Обновить

Сделаем это по-быстрому – habrahabr за пару часов

Время на прочтение4 мин
Количество просмотров4.4K
habradrupal
В последнее время на drupal.ru и habrahabr.ru частенько проскакивают темы вроде: «Делаю социальную сеть – бюджет пара сотен! Помогите сделать хабрастартап!» Отечественные аналитики связывают эту тенденцию с тем, что кризис на ипотечном рынке США тянет вниз за собой рынок в целом, что заставляет игроков на бирже вкладывать в высоколиквидные и надежные активы. Традиционно прибежищем инвесторов в смутные времена является золото, медь да стартапы на просторах бывшего СССР.

Как быть, если денег и других ресурсов пока нет, а вот почувстовать себя Денискиным или Андреевым хочется уже сегодня? Попробуем исполнить соцзаказ и попытаемся по-быстрому сделать сайт напоминающий хабр.

Для начала нам понадобится не выдвигающий жестких требований по количеству запросов к БД хостинг. Необходимый минимум памяти – 16 Мб.Скачиваем с официального сайта Drupal 5.6. Оттуда же мы будем черпать и необходимые дополнительные модули.

Инсталляция проходит легко и непренужденно: нужно всего лишь ввести название базы, префикс для таблиц, логин и пароль. После завершения инсталляции нас приветствует главная страница с предложением создать пользователя №1. Этот пользователь в дальнейшем будет обладать неограниченными правами. Благодаря имеющейся гибкой системе управлениями правами можно создавать различные категории пользователей и назначать полагающиеся им привилегии для управления контентом и структурой сайта, но для некоторых задач все же требуется именно пользователь №1. Кроме создания первого пользователя крайне необходимо подправить права доступа к конфигурационному файлу и убрать файл install.php. Заходим в список имеющихся модулей и добавляем к включенным обязательным модулям дополнительные модули ядра: Blog, Comment, Menu, Path, Poll, Profile, Search, Taxonomy, Tracker, Upload.

Создаем для начала 2 словаря: Вид креатива и Теги креатива. Для первого словаря создаем набор тегов: переводы, подкасты, ссылки… Ставим условие обязательного наличия тега в материале из этого выпадающего списка. Для второго задаем свободный множественный выбор тегов – пользователи будут самостоятельно задавать теги в любом количестве. Оба словаря связываем с записью в блоге. При создании креатива пользователю будет предложено выбрать/ввести теги.

На следующем этапе облегчим пользователям публикацию материала. Из значительного количества WYSIWYG-редакторов я бы выделил 2 – BUEditor и TinyMCE, но поскольку 2 редактора для 1 сайта многовато, то оставим BUEditor сайту drupal.ru, а себе установим модуль TinyMCE. Здесь нужно понимать, что для работы с текстом кроме модуля необходим непосредственно сам редактор (его легко найти на сайте автора tinymce.moxiecode.com ). Создаем профиль в редакторе для зарегистрированных пользователей, настраиваем видимость и необходимые кнопки. Также нужно не забыть про набор разрешенных тегов, иначе пользователи замучают вопросами: «Почему моя таблица/картинка не отображается в блоге?» Для удобной работы с картинками устанавливаем модуль IMCE, настраиваем необходимые ограничения по объему и размеру картинок. IMCE хорошо работает с вышеустановленным WYSIWYG-редактором, но если Вы «настоящий профессионал», то никто не мешает отключать редактор и творить тегами без посредников.

Будем считать, что создавать креативы мы уже научились, сейчас попробуем их выводить в нужном нам виде. Скачиваем и устанавливаем группу модулей Views, а также Vote up/down и Voting API. В настройках модуля Voting API выставляем самое оперативное обновление результатов, в настройках Vote up/down привязываем голосовалку к записи в блоге, устанавливаем голосовалку в виде +1/-1 (кнопки можно своровать на хабре ;) или скачать на famfamfam.com), настраиваем доступность не только в статье, но и в тизерах. Подобные настройки осуществляем и для голосования по комментариям. Кстати, о комментариях. В два клика включаем комментарии к блогам и не забываем установить их древовидный вид.

С помощью Views создаем страничный вид для главной страницы. Это будет обычный список из 10 тизеров. В движке даже есть готовый хабракат(break). Поскольку на главную выводятся только самые достойные из актуальных постов, то отфильтруем их по голосам и отсортируем по дате создания. В фильтрах после установки модулей для голосования появляется больше десятка вариантов фильтрации, так что фильтровать можно, как душе угодно. На случай планируемых хабрареволюций в фильтры следует добавить проверку на опубликовано\не опубликовано и, например, на роль или имя автора. Это очень поможет в деле будущих зачисток –несколькими движениями мышки можно будет редактировать прошлое (идею подсказал некто Оруэлл в топике о ретушировании прошлого «1984»).

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

Чуть не забыл о самом важном элементе сайта – облаке тегов. Хорошо, что вспомнил, а то какой же это был бы Веб 2.0! Он реализуется непривычно скучно и просто: устанавливаем tagadelic и привязываем его к словарю. Всё, приставка 2.0 готова.

В этом материале ни слова не сказано о дизайне, верстке. Да много о чём не сказано, упомянуты лишь манипуляции с модулями. Здесь не упоминались хуки, сниппеты, да и вообще ни слова о php. На мой взгляд, если человек задается вопросами из 1 абзаца, то начинать ему следует именно со стандартных вещей. И если у Вас действительно есть идея, если Вы делаете толковый САЙТ для людей, а не очередных одноклассников или 125-й клон ютуба, то все приложится – найдутся ресурсы для оригинальной кастомизации открытых решений, написания какого-то функционала с нуля. А если же проект «не пошел», то дело скорее всего не в том, что Вам не хватило $1000000 (ненужное количество нулей затереть) для технической реализации.

Уже после написанного поймал себя на мысли, что не упомянуты добрым словом ЧПУ, реализация компаний и комьюнити. Ладненько, пора заканчивать, а то суббота да и так «слишком много букв».
продолжение
Теги:
Хабы:
Всего голосов 109: ↑103 и ↓6+97
Комментарии140

Публикации