Делаем блог на Drupal

    Недавно на своем блоге я выложил статью по поводу создания блога на базе Drupal. Выложу ее и здесь. Надеюсь, она будет кому-нибудь полезной.

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

    Пожалуй, самые популярные движки сейчас — это Wordpress, Joomla и Drupal. Во всяком случае, они самые известные из бесплатных CMS. После их изучения я остановился на Drupal и очень этому рад. Не вдаваясь в подробности о преимуществах Drupal (это тема для отдельной статьи), замечу лишь, что он мне понравился следующими особенностями:

    • Гибкость системы. Архитектурно Drupal построен очень грамотно и модульно, что позволяет сделать из него все, что угодно.
    • Качественный код. Благодаря достаточно жесткому контролю качества Drupal и его модули не только стабильны, но и обладают вполне читаемым кодом.

    Есть и свои недостатки, конечно, но я сейчас, собственно, не об этом. Сейчас, когда набор модулей и настроек у меня стабилизировался, я бы хотел написать о том, как сделать блог на базе Drupal.


    Функционал блога Drupal предоставляет «из коробки». Но тут есть нюансы. Конкретная реализация зависит от особенностей блога и его позиционирования. Есть два варианта:

    1. Использование встроенного модуля Blog. При его включении у каждого пользователя появляется личный блог и новый тип материала «Blog Entry». Если при этом еще включить и модуль Blog API, то можно создавать записи в блоге с помощью любого внешнего клиента, поддерживающего XML-RPC. Такой подход универсален, но, на мой взгляд, избыточен для блога, который ведет один человек. Слишком уж бросается в глаза ориентированность на «мультиблоггинг». Это хорошо для многопользовательского сайта и сайтов различных сообществ, но слишком усложненно для простого блога. Поэтому я пошел по второму варианту.
    2. Использование для постинга стандартного типа материала «Story» (Статья). Здесь все куда проще. Материалы просто размещаются на главной странице, модуль Blog при этом неактивен. Мне кажется, такой способ идеально подходит для личного блога.

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

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

    • Archive. Этот модуль предоставляет архив постов в календарном виде. Модуль прост в использовании и предоставляет все, что нужно. Есть еще похожий модуль — Calendar. Но последний я бы не советовал использовать, так как он создает слишком много пустых ссылок, которые не только не несут никаких материалов, но и теоретически могут стать причиной падения сайта из-за чрезмерной нагрузки от поисковых ботов.
    • Monthly Archive. Добавляет блок «Архивы по месяцам». Показаны месяцы с количеством постов.
      Comment Notify. Этот модуль нужен для отсылки уведомлений о новых комментариях в теме всем комментировавшим в этой теме. К сожалению, в модуле есть ошибки, о которых я писал здесь (там же можно скачать исправленную версию).
    • Comment Subjects. Модуль для установки по умолчанию более внятной темы для комментариев. Устанавливает тему вида «Re: тема_поста_или_комментария». Такой вид темы более привычен, нежели то, что предлагает Drupal по умолчанию.
    • Read More Tweak. Маленький модуль для установки более привычной для пользователя ссылки «Читать далее».
    • Similar Entries. Этот модуль предоставляет весьма полезный функционал — блок с ссылками на статьи, похожие на текущую. В отличие от многих подобных модулей, релевантность предлагаемых этим модулем ссылок вполне адекватна.
    • FeedBurner. Модуль для поддержки RSS-каналов, транслируемых посредством FeedBurner. Осуществляет «на лету» редирект любых каналов на FeedBurner.
    • Taxonomy DHTML. Этот модуль, в принципе, не является обязательным для блога. Но мне он показался очень удобным и полезным. Модуль строит дерево категорий (на основе терминов таксономии и их словарей) и предоставляет блоки с ссылками на категории для каждого термина таксономии. Это не прямой аналог популярного облака тегов, а древовидное их представление. Для облака тегов можно использовать, например, Node Cloud.

    Кроме того, есть модули, функционал которых, хоть и не является обязательным, но изрядно добавляет удобства блогу:

    • BUEditor. Удобный, но в то же время простой, редактор текста. Кроме того, в качестве редактора можно использовать TinyMCE WYSIWYG Editor, но мне он показался черезчур перегруженным.
    • IMCE. Модуль для удобной загрузки изображений. Полностью интегрируется с BUEditor.
    • Captcha. Модуль, предоставляющий различные методы защиты от спама в комментариях, такие как арифметические выражения и графические изображения.
    • OpenID. Модуль для поддержки авторизации по OpenID. В этом модуле я тоже нашел пару ошибок. Их описание и исправленный модуль можно найти здесь.
    • GeSHi Filter. В случае, если на блоге предполагаются статьи с примерами исходных кодов, этот модуль просто обязателен. Он осуществляет подсветку синтаксиса для очень большого количества языков программирования. При этом он не использует для подсветки JavaScript, а предоставляет полноценный фильтр для материалов.

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

    Похожие публикации

    Комментарии 79
      +1
      для облака тегов, имхо, Tagadelic рулит
        0
        Спасибо за дополнение. Я облако тегов вообще не использую, как-то я их не очень люблю. Поэтому детальным сравнением модулей для них не занимался.
        0
        Спасибо за пост, узнал из него несколько полезных для себя модулей...
        Сам в Друпале начал разбираться примерно неделю назад, пока пытаюсь обычный HTML+CSS шаблон прикрутить непосредственно к друпалу.

        Подскажите как изменить дизайн непосредственно какого то объекта (поисковая форма например)...я так понимаю что такие доработки делаются уже не непосредственно в теме, а сниппетами?
          0
          поисковая система основана через модуль search. Достаточно переопределить css этого модуля, или такие параметры как длина формы в файле search.module

          Дерзайте!
            0
            Достаточно модифицировать только style.css темы. В файле page.tpl.php выводится форма поиска. Там можно посмотреть, какой класс используется для отображения и просто переопределить его в style.css. Механизм тем у друпала тоже исключительно гибкий. :-)
              0
              > Подскажите как изменить дизайн непосредственно какого то объекта (поисковая форма например)...
              > я так понимаю что такие доработки делаются уже не непосредственно в теме, а сниппетами?

              Если для изменения дизайна вам хватит правки CSS, то правте style.css. Кстати, существует модуль Alter CSS (http://drupal.org/project/alter_css), позволяющий править стили в файле style.css прямо из админки, без FTP.

              Если же вам нужно изменить саму структуру формы, т.е. ее HTML, то тут чуть сложнее. Вам необходимо переопределить theme-функцию формы в файле template.php. Подробнее про FormAPI и способы изменения форм можете почитать здесь: http://api.drupal.org/api/file/developer/topics/forms_api.html
                0
                Продолжайте изучать CSS, ну и Firebug Вам в руки для удобства
                  0
                  Спасибо всем! Форму переопределил без проблем...Помог мне в этом сниппет http://drupal.org/node/45295

                  Firebug реально полезная весЧь... не представляю как я раньше жил без него и без Web Developer`а и YSlow`а....очень полезные вещи!
                  0
                  в файле template.php темы (если его нет, то нужно создать).
                  дописываете функцию:
                  function phptemplate_search_theme_form($form) {
                  /**
                  * This snippet catches the default searchbox and looks for
                  * search-theme-form.tpl.php file in the same folder
                  * which has the new layout.
                  */
                  return _phptemplate_callback('search-theme-form', array('form' => $form));
                  }
                  затем в файл search-theme-form.php вписываете код формы поиска.
                  +1
                  Пожалуй, добавлю, что сейчас Друпал является единственным ОпенСорс движком, на котором кроме дельного блога можно делать все что душа пожелает. По функциональности если и уступает Битриксу, то не на те пеусловутые цифры, которые выкладывают за Битрикс.

                  Ну и мне кажется, что автор забыл про модуль Taxonomy, который нужен для тегов и категорий, без которых тяжело представить нынешнее блого-строение.
                    0
                    Модуль Taxonomy - стандартный, из поставки. Поэтому я про него не писал, статья только про дополнительные модули.
                      0
                      Извиняюсь, читал невнимательно.
                        0
                        Недавно поставил Drupal для проверки
                        Почему-то модуль Taxonomy который шел со скриптом, не отображается в "Управл. сайтом/Модули", и если хочу поставить какой-нибудь модуль, например Tagadelic, говорит Зависит от: Taxonomy(отсутствует)
                        Не знаете в чем дело?
                          0
                          Это очень странно. Потому что таксономия - это краеугольный камень идеологии друпала. Без нее друпал - и не друпал вовсе. ;-) Вероятно, вы просто как-то неправильно установили или дистрибутив неполный. Есть ли папка taxonomy в /modules?
                            0
                            Да, папка taxonomy есть в modules
                            внутри 2 файла taxonomy.info и taxonomy.module
                              0
                              разобрался
                              в папке modules оказался файл taxonomy.module после удаления которого заработало
                        0
                        Слишком громкое заявление. И неправда -)
                          0
                          100% неправда! Я даже знаю какую ЦМС ты подразумеваешь:)
                            0
                            Какую? Просветите ;)
                              0
                              TYPO3:) И это действительно СИЛА!
                              Есть такой сайт - http://www.cmsmatrix.org/matrix - сравнение ЦМС. Не знаю насколько это авторитетный источник, но на первый взгляд посерьезные подобных рус. аналогов. Так вот кто не верит сравните там эти ЦМСки:)
                              Говорить, что Друпал - это единственный движок способный на все, не зная досконально всех эти движков, вряд ли кто-то может:)
                              Так что критика по делу.
                                0
                                Если не секрет - в чем именно СИЛА Typo3 по сраавнению с Drupal? Друпал уже щупал ручками, а вот Typo3 еще нет, но только потому, что у меня сложилось впечатление, что сия CMS скорее заточена на создание обычных сайтов и блогов, тогда как на Друпал можно реализовать социальную сеть. Есть ли такие возможности у Typo3 ?
                                  0
                                  TYPO3 не заточена под создание блогов, онлайн-комьюнити и социальных сетей.
                                  Хотя в ней есть (и даже не один) модуль форума, есть и древовидные комменты.
                                  TYPO3 заточена под создание больших многоязычных корпоративных сайтов и многосайтовых систем типа http://www.3ds.com (на Drupal такой сайт делать - это убиться)
                                    0
                                    С чего вы так решили?
                                    Чем 3ds круче http://www.mtv.co.uk или http://www.observer.com ?
                                    Или http://dev.aol.com ну например http://www.playboy.de тоже же?
                            0
                            неаргументированная критика
                          0
                          Благодарен, в избранное.
                            0
                            Спасибо автору.
                            Если кому-то интересно: рождению движка WordPress предшествовало вдохновение, возникшее у его авторов после знакомства с Drupal.
                              +2
                              standalone блог на друпале - из пушки по воробьям, да и ресурсов друпал кушает много больше, чем обычный вордпресс.
                                0
                                Насчет ресурсов - очень и очень спорный вопрос. В той конфигурации, которая требуется для блога, друпал явно не будет жрать больше вордпресса. ВП вообще известен своей неадекватной ресурсоемкостью.
                                0
                                Кстати WordPress можно интегрировать в друпал, как движок для блогов.

                                Ещё из модулей бы поррекомендовал интеграцию Google Analytics - для истинных СЕО маньяков :)
                                  0
                                  Ребят, ну неужели не понятно, что использовать тему по умолчанию это как-то совсем не кошерно.
                                    0
                                    Да, у меня там тема по умолчанию, garland. Ну что поделать, если она мне понравилась больше остальных. ;-) Со временем сделаю свою тему, уже начал, собственно...
                                    0
                                    А можно еще поставить jrating, userpoints, etc.
                                    и не давать людям возможность плюсовать, писать на главную, коментировать и читать форум.
                                      0
                                      Да, можно, конечно. Но это уже получается почти социальная сеть, а не просто блог. ;-)
                                        +1
                                        В друпале, даже в "базе" есть больше чем нужно для блога :)
                                        Мо моему его нельзя рассматривать как движок для блога, это большая, суперская цмс-ка.
                                      0
                                      Ставлю вам "плюс" устно. Вообще люблб эту систему, сам её использую. Хотя раньше был полным поклонником Joomla, но всё-таки перешёл на Drupal и ничуть не сожалею.
                                        0
                                        Монетизируем немного:
                                        Adsense Injector
                                        http://drupal.org/project/adsense_injector
                                        Advertisement
                                        http://drupal.org/project/ad
                                          0
                                          А можно поставить еще jrating, userpoints, etc.
                                          и не давать никому постить коментарии, ставить плюсики и т.п.
                                            0
                                            Еще вчера удаляли копипасты, а тут на главной такой пост...
                                              0
                                              Я специально уточнял, можно ли свои материалы (со своего блога) постить. Ответили - можно.
                                            0
                                            Вот скажу из личного опыта, standalone на Друпале - это всё равно что вы попытаетесь играть в куличики экскаватором. Получится, но сколько вы сделаете лишних движений и сколько ведёрок вы потеряете, пока у вас получится цеплять ковшом горсть и так же аккуратно её высыпать. Есть Wordpress, ну в конце концов напишите свой движок, но зачем использовать, в принципе портальную систему, исключительно для блога?
                                              0
                                              Я не соглашусь с тем, что друпал - исключительно портальная система. Достаточно активировать только нужные модули и добавить несколько новых и все, блог готов. Это не сложнее того же вордпресса. А уж писать свой движок - гораздо более трудоемко.
                                                0
                                                Drupal вполне гибкая и настраиваемая система. Отключить лишние элементы и грамотно выставить настройки - поверьте, это не сложнее, чем настроить WP или тем более писать свой движок. Кроме того, Drupal, в отличие от WP, позволяет создавать более разноообразные шаблоны страниц. Все-таки, согласитесь, проблема многих Wordpress-блогов - это их внешняя похожесть друг на друга.
                                                  +1
                                                  Ну похожесть это проблема не ВП, а тех, кто его использует. Никто не мешает подправить тему под себя как душе угодно или привязать свой дизайн.
                                                    0
                                                    Соглашусь. Щас практически через два блога, на третьем стоит Vertigo. Так что это дело вкуса тех, кто выбирает, а не ВП.
                                                  0
                                                  Текст про экскаватор нужно сделать дисклеймером к друпалу. Очень точно написано.
                                                  0
                                                  Постарались, вам бы почетную грамоту подарить :-) Спасибо
                                                    0
                                                    Если не сложно, опишите все используемые вами модули.
                                                      0
                                                      Хорошая статья, такие отчеты об опыте использования повышают в конечном счёте шансы на то, что кому-то решения описанной вами задачи, други людят выбирут описанный же инструмент.

                                                      Наверное, уместнее было бы сюда поместить: http://habrahabr.ru/blog/drupal
                                                        0
                                                        Наверное, уместнее было бы сюда поместить: http://habrahabr.ru/blog/drupal

                                                        Да, туда было бы уместнее, но я этот блог что-то не нашел так вот сходу... Буду знать, спасибо.
                                                          0
                                                          Можно изменить хабратопик и перенести его в блог о Друпале.
                                                          Просто хочется чтобы всё о друпале было в одном месте.
                                                        0
                                                        Работал с Вордпрессом. На мой взгляд - гораздо удобней. Легче привязать шаблон: переменные не такие громоздкие, как в Дрюпале.

                                                        А вообще, Битрикс рулит (сейчас мне за это тут по шапке надают). Хотя как блоговый движок, он конечно печальный. Но сейчас есть дванольные вторые компоненты, которые вполне себе ничего. Хотя да, по цене далеко не опенсорс =)
                                                          0
                                                          в российском Drupal-коммьюнити даже ходили слухи, что Хабр сделан на Drupal.
                                                            +1
                                                            Я когда первый раз попал на хабр поймал себя на такой мысли.
                                                            Смотришь и думаешь: "Так... вот это модуль тагаделик, это wotingAPI+VoteUpDown, это сочитанием CCK и Views.
                                                            Вроде, официальные источники не подтверждали подобной информации, но не исключено,что в техническом плане многое позаимствовано у детища Дриса Байтаерта.
                                                              0
                                                              Точно, как раз использовал некоторые из этих модулей и сразу увидел аналогии.
                                                            0
                                                            Кстати, Саш, по Друпалу ты презентаций не делал?
                                                              0
                                                              Нет, не делал. А что, есть предложения? :-)
                                                                0
                                                                В каком-то смысле, да...
                                                                Я, как ты знаешь, сейчас в теме предстоящего баркемпа. Так там народ желает знать про Drupal, кто-то даже вызвался докладик делать. Еще какого-то эксперта в обсуждениях поминали, в смысле, придет-не придет.
                                                                И тут я подула, что эксперт-то у нас это ты.
                                                              0
                                                              а что, уже начались новогоднии шутки и развлечения?

                                                              сколько времени уже работает ваш "standalone-блог на друпале"?
                                                                0
                                                                С сентября. А что не устраивает?
                                                                0
                                                                А как у друпала с производительностью ? Ковыряю чужой сайт - опытным путем выяснено, что требуется 196 мб на один процесс..
                                                                  0
                                                                  Что-то более-менее пристойное со скрипом ворочается и на десятке с небольшим Мб. А вот 196 Мб - явный перебор.
                                                                  Что за проект, если не секрет?
                                                                  модуль devel может помочь прояснить ситуацию
                                                                  достаточно удобно на лету видеть память, количество запросов и т.д.
                                                                    0
                                                                    сорри cекрет :) ... спасибо модуль devel попробуем установить, кстати памяти не хватает на страницах, где происходит группировка, еще вопрос - есть ли какое-нибудь описание, которое позволяет понять философию друпала - пока что написание своего кода на чистом php оказывается на порядок быстрее (по скорости написания), чем реализация этого же требования на друпале ...например не формировались автоматом breadcrumbs для категорий - сделали хак в коде шаблона, который сам парсит url и спрашивает у друпала title для определенных node
                                                                      0
                                                                      Здесь проблема в том, что таксономия не имеет жёсткой привязки к структуре или к меню.
                                                                      Где-то встречались статьи об этом краеугольном камне Друпала.

                                                                      сделали хак в коде шаблона, который сам парсит url и спрашивает у друпала title для определенных node
                                                                      Т.е. вы формировали "хлебные крошки" по путям?

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

                                                                      Посмотрите
                                                                      http://drupal.org/node/31983
                                                                      http://drupal.org/search/node/breadcrumb…
                                                                  0
                                                                  Сори, а на друпале можно делать нормальные урлы, типа http://mysite.loc/2007/12/28/transliteri… ?
                                                                    0
                                                                    Вставился урл по дурацки :( Я имел в виду hxxp://mysite.loc/2007/12/28/transliterirovannij-или-не-транслитерированный-zagolovok-posta/
                                                                      +1
                                                                      Да. В друпале это штатный модуль, из стандартной поставки.
                                                                        0
                                                                        Как уже сказали, в ядре есть модуль path, есть возможность использовать "чистые" урлы.
                                                                        Для более гибких настроек и автоматизации процесса рекомендую модуль pathauto
                                                                        http://drupal.org/project/pathauto
                                                                        0
                                                                        Если не секрет, поделитесь:
                                                                        1. какой хостер у вашего drupal-проекта ?
                                                                        2. какой тариф ?
                                                                        3. какая версия Drupal ?

                                                                        Спрашиваю потому, что часто слышу о ресурсопрожорливости Друпала и даже выражения вроде "ставишь Друпал - бери дедик", так ли это?
                                                                          0
                                                                          Мастерхост, тариф "эффективный". Друпал 5.2.

                                                                          >"ставишь Друпал - бери дедик", так ли это?

                                                                          Нет, это не так. С производительностью у друпала все в порядке. От людей, разбиравшихся в коде друпала и вордпресса, я вообще слышал, что код друпала значительно лучше оптимизирован с точки зрения быстродействия в том числе.
                                                                            0
                                                                            бред, ребята. Год продержитесь, а если выйдете на трафик только vps спасет и вообще мой совет - берите впс сразу. Я долго и мучительно больно собирал раз пять упавший сайт на шареде. К слову с друпалом уже 5-ый год работаю.
                                                                            0
                                                                            На мой взгляд, лучше брать 5,5, так как 4,7 -тупиковый путь, а 6 еще сыроват, да и модулей к нему маловато.
                                                                            Конечно, ВПС/ВДС еще никому не помешал, но пойдет и на более бюджетных решениях.
                                                                            Клинический случай - шаред с ограничением памяти в 8 Мб. Ядро друпала станет, но при попытке подключения views или еще какого значимого модуля - белый экран, который лечится удалением модуля по фтп.
                                                                            Если такой "клиники" с памятью нет, то нужно просто стараться не перегружать сервер излишними запросами. Тот же вышеупомянутый pathauto добавляет запросов к БД, да и не он один. При значительном количестве посетителей используйте кеширование - базовые возможности есть непосредственно в ядре + возможность кеширования отдельных блоков сторонним модулем.
                                                                              0
                                                                              > Спрашиваю потому, что часто слышу о ресурсопрожорливости Друпала и даже
                                                                              > выражения вроде "ставишь Друпал - бери дедик", так ли это?

                                                                              Ну это мягко говоря неправда. Зависит, конечно, от того что именно делать. Блог, например, вряд ли создаст хоть какую-то нагрузку. Особенно, если пользоваться модулем boost для статического кеша. В этом случае блог на друпале и на шареде имеет даже больше шансов успешно пережить /.-эффект, нежели на выделенном сервере.
                                                                              0
                                                                              Прекрасная статья, очень помогло в выборе платформы. Спасибо :)
                                                                                0
                                                                                Мне кажется, слишком уж Друпальным получился у Вас блог.
                                                                                Тему бы какую применили? ;-)
                                                                                  0
                                                                                  Тема у меня - стандартный garland, да. Как ни странно, она мне понравилась больше всех, которые я посмотрел. Где-то через месяц будет уже полностью своя тема оформления.
                                                                                  0
                                                                                  Неплохая статья, только я не понял, в чём прелесть использования мощной CMS для ведения блога вместо чисто-блогового движка? Ты потом как-то расширял функционал проекта за счет модульности?
                                                                                    0
                                                                                    Нет, никак не расширял. Блог и остался. А почему нет? С блогом друпал справляется не хуже того же вордпресса, но всегда остаются возможности расширить как угодно.

                                                                                  Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                                                                                  Самое читаемое