Строительство digg-like сайтов на CMS Drupal

Июль 29, 2007 – 10:26

За основу взята эта статья на английском.

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

Для работы сайта потребутся вэб-сервер с PHP версии 4+, СУБД MySQL. Для тестирования на домашнем компьютере подойдет и пакет Denwer.

Необходимые скрипты и модули

Для начала необходимо скачать саму CMS и модули, необходимые для будущей социальной сети. На момент написания статьи последняя стабильная версия движка 5.1 - про нее и будет вестись речь далее. При скачивании модулей убедитесь, что скачиваете именно для версии 5.1.

Итак, список того, что нужно скачать:
Drupal 5.1
Модуль Vote Up/Down
Модуль Links
Voting API
Actions
Voting Actions
CRE recommendation

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

Установка CMS Drupal

Распакуйте архив с CMS в корневую папку вашего вэб-сервера, а архивы модулей в создавшуюся папку /modules/.

Если Вы устанавливаете CMS на пакет Denwer, то в файл .htaccess поместите следующую строку:
php_value error_reporting 7

Далее создайте MySQL базу данных.

Затем зайдите через браузер на Ваш сайт, укажите имя базы данных, логин и пароль пользователя и нажмите на кнопку Save. Скрипт сохранит эти настройки в файл sites\default\settings.php.

Далее зайдите на главную страницу сайта и создайте аккаунт администратора (перейдя по предложенной ссылке) и войдите под этим аккаунтом.

Установка модулей

Зайдите в Administer -> Site building -> Modules, выберите следующие модули и сохраните настройки:

• CRE
• Path
• Links
• Actions
• Storylink
• Vote up/down
• Voting API
• Voting actions

Далее выполните следующие действия:

• Перейдите в Administer -> User management -> Access control и установите:
- для vote_storylink: “create storylinks”, “edit own storylinks” только для зарегистрированных пользователей, “view storylinks” для обоих типов пользователей
- для vote_up_down: “use” только для зарегистрированного, “view” для обоих типов.

• Зайдите в Administer -> Site building -> Actions, это активирует модуль Actions.

• Зайдите в Administer -> Content management -> Content types и уберите для Storylink опцию “Promoted to front page”

• Зайдите в Administer -> Site configuration -> Vote up/down
- Пометьте опцию “Storylink”
- В “Vote widget settings for nodes”: “Vote widget style” выберите “Alternative +1 vote style”
- В “Vote widget settings for nodes”: установите “Vote widget display” и “Link display of vote points” в Disabled
- В “Vote widget settings for comments” отключите показ “Vote widget” и “Link”

• Зайдите в Administer -> Site configuration -> Voting actions
- Выберите Add и введите любое название (английское без пробелов) и описание
- В подразделе Conditions нажмите на кнопку “Add condition”. Далее выберите в соответствующих полях “Points”, “Vote”, “Is greater than”, “5″. Последнее число указывает при скольки голосах новость будет перемещена на гавную страницу, Вы можете ввести любое.
- В подразделе Actions выберите “Promote node to front page” и нажмите “Add action”
- Нажмите кнопку Submit

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

После этого скопируйте файлы node-storylink.tpl.php и template.php из папки modules\vote_up_down в папку themes\(ваша тема, по умолчанию garland).

Внимание! Если в папке с темой оформлений уже есть файл template.php, то заменять его не нужно. Необходимо вручную заменить функцию _phptemplate_variables в этом файле на такую же из modules\vote_up_down\template.php.

Если Вы затрудняетесь в этом - установите тему оформления, в которой этого делать не потребуется, например bluemarine (Administer -> Site building -> Themes).

Вот в принципе и все. Для создания новой новости в меню нужно выбрать Create content -> Storylink. После отправки новости она сразу не попадает на главную страницу, а попадет туда лишь после того, как наберет столько голосов, сколько Вы указали.

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

Русификация сайта

• Зайдите в Administer -> Site building -> Modules и подключите модуль Locale
• Зайдите в Administer -> Site configuration -> Localization
- выберите Add language. Пометьте русский и установите его испоьзуемым по умолчанию
- выберите Import и загрузите файл с переводом, который Вы скачали ранее.

Теперь у Вас получился полурусский сайт (так как были установлены дополнительные английские модули). Для полной русификации необходимо сделать следующее:

• Зайдите в Управление сайтом -> Настройка -> Переводы -> Управлять строками
• В фильре задайте язык - русский, поиск в - Только непереведенные строки и нажмите поиск
• По очереди переведите все показанные строки

Как пример настроенного сайта могу показать вот этот сайт http://my.azona.ru. На нем в дополнении к модулям, указанным в данной статье, был активирован еще и модуль “Блог”.

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

PS на всякий случай: оригинал статьи доступен по адресу http://photonblog.net/posts/stroitelstvo-digg-like-sajtov-na-cms-drupal/

PPS Смотрите также вторую часть данной статьи.

google.com bobrdobr.ru del.icio.us technorati.com linkstore.ru news2.ru rumarkz.ru memori.ru moemesto.ru

  • Строительство digg-like сайтов на CMS Drupal vol.2
  • Движки социальных сетей
  • Добавление в Pligg кнопок русских социальных закладок
  • Доводим до ума социальную сеть на Pligg
  • Индексация новых сайтов в различных зонах


    1. 10 Responses to “Строительство digg-like сайтов на CMS Drupal”

    2. By Евгений on Авг 30, 2007

      Здорово! Сейчас расширяю возможности своего Drupal-сайта. Спасибо за обзор модулей!

    3. By Borigen on Сен 19, 2007

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

    4. By Borigen on Сен 19, 2007

      Да, еще один момент, на сайте разработчика уже нет версии 5.1, только 4.7.7, 5.2 и 6.0.
      Вопрос, наверно в пустоту :), будут ли эти доработки справедливы для этих версий…

    5. By Kir on Окт 10, 2007

      Здравствуйте.
      Замечательная статья!Всё очень доходчиво.
      Не могли бы вы как-то указать какой кусок на какой надо заменить здесь:
      >Необходимо вручную заменить функцию >_phptemplate_variables в этом файле на такую >же из modules\vote_up_down\template.php.
      Спасибо.

    6. By ix on Окт 13, 2007

      Статья баян, ничего не будет работать на 5.2 :) Сам сейчас учусь создать что-то подобное, думал статья поможет, если знаешь как настроить голосовалку, напиши плз на 68854523

    7. By photon on Окт 13, 2007

      С версией 5.2 не разбирался. И уже наверное не буду - разочаровался немного в друпале. Настройка должна быть аналогичная

    8. By vlad on Окт 16, 2007

      photon, а почему разочеровался? Нужно сделать социалку, на чём посоветуеш? :)
      сенк.

    9. By photon on Окт 17, 2007

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

    10. By Bambino on Окт 22, 2007

      Самому написать :)

    11. By Ученик on Янв 30, 2008

      Эх, не лучшая затея однако.

      Плигг глючный был, а друпал, навешанный всем этим лучше не намного становится.

      Я бы воздержался от этого.

      С другой стороны и аналога нет ((

    Post a Comment