Доска объявлений средствами Drupal

Как сделать доску объявлений на DrupalСегодня в продолжение серии статей о типовых решениях на Drupal, мы поговорим о создании сайта – «доски объявлений» средствами Drupal. На примере бесплатной доски объявлений по Ставропольскому краю (www.pro-ufo.ru).  В данной статье будет рассмотрена уже работающая доска объявлений, в Вашем случае целесообразнее установить Drupal на домашний компьютер и  применить все советы, предложенные мною в данной статье, после чего сделать тоже самое но уже на рабочем варианте, либо сразу производить настройку рабочей системы.Как установить Drupal на домашнем компьютере читайте в моей статье – «Подготавливаем локальный сервер для работы с Drupal.»

Что же такое «доска объявлений» — это сайт, где любой пользователь может разместить свое объявление, аналогично доске объявлений или газете бесплатных объявлений в обычной жизни. Как правило, доски объявлений являются бесплатными, тематическими и моделируемыми.

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

Теперь давайте поговорим об основном функционале нашего проекта, нам понадобиться:

  1. Регистрация пользователей на сайте, без этого я считаю ни как, во-первых, это защита от спама, во-вторых, это база потенциальных клиентов которым можно будет производить различного рода рассылки в будущем, в третьих для предоставления платных услуг пользователям доски объявлений в будущем.
  2. Рубрикатор категорий, и рубрикатор по городам, что бы информация была структурирована и удобна для поиска.
  3. Возможность прикреплять фотографии к объявлениям, мы же не в каменном веке живем.
  4. Возможность размещения контактной информации.

Теперь о модулях, которые необходимо установить для дальнейшей работы:

  1. CCK
  2. Image Field
  3. Taxonomy Menu
  4. Wysiwyg
  5. Views
  6. Pathauto
  7. Poormanscron
  8. Similar by terms
  9. Token

Ну и естественно Drupal 6 последней версии, на текущий момент это 6.19.

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

Что бы было все красиво нам нужно создать новый тип материала, назовем его объявление (ad). Для того чтобы создать новый тип, зайдите – Администрирование, Содержание, Типы материалов, Добавить тип материала (www.site.ru/admin/content/types/add). Дальше можете указать настройки как на скрине ниже, все картинки кликабельны.

Создание нового типа материалов

Жмем сохранить, и возвращаемся к странице, на которой перечислены все типы материалов (www.site.ru/admin/content/types). В этом списке мы видим созданный нами новый материал.

Список типов

Справой стороны от названия и типа материала есть ссылка – управлять полями. Для нашего нового типа материалов мы создадим необходимые нам дополнительные поля. Это будут: фото, контактный телефон, контактное лицо, веб сайт. Все кроме фото будут иметь тип текст – текстовая строка. Фото будет иметь тип файл – изображение.

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

Выставим следующие настойки:

  1. Допустимые расширения файлов для загрузки: png, gif, jpg, jpeg
  2. Максимальное разрешение для изображения: 640×480 (это для моего дизайна, у вас может отличаться)
  3. Максимальный размер файла: 2m
  4. Количество значений: 1
  5. Возможность отображения, скрытия списка вложений: отключено
  6. Поле описания: отключено

Сохраняем настройки поля!

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

Настройка полей

Теперь ещё один немало важный момент, в настойке. Перейдем по вкладке – отображение полей, она находится на странице управления полями.

Выставим для поля – фото, метка – выше (можете поставить скрыто, тогда при просмотре объявления над фотографией не будет надписи — фото), краткая аннотация – изображение, материал полностью – изображение. Для всех остальных полей, метка – выше, все остальное по умолчанию.

Теперь нам необходимо создать рубрики, для этого воспользуемся таксономией.  Тут подробно останавливаться не буду, все достаточно просто. Создаем 3 словаря – город, тип объявления, категория объявления. Заполняем по вашему вкусу, и под ваши нужды.

Теперь, когда рубрикатор создан, давайте создадим тестового пользователя. В разрешениях не забудем разрешить зарегистрированным пользователям создавать материалы типа объявление. Создали, заходим под ним, и пытаемся создать новое объявление, если все сделали правильно то у вас получится как у меня.

Страница создание нового объявления

Теперь создадим два пустых меню, города и категории. После их создания проследуем в настройки словарей таксономии. В словаре «город», есть блок taxonomy menu. Выберем в menu location наше созданное меню город. Сними галочки везде кроме Synchronise changes to this vocabulary. Сохраняем, переходим в блоки и настраиваем отображение блока с меню в нужной вам части сайта. Для категории проделываем тоже самое.

Теперь давайте настроим формирование ссылок с помощью pathauto. Тут тоже нечего сложно нет, заходим на страницу – Администрирование, Конструкция сайта, Синонимы, Настройка автоматических синонимов. В разделе Node paths, в поле шаблона для материала типа объявление пишем — ad/[nid]. Для остальных типов можете менять по своему усмотрению.

Осталось сделать представление для публикуемых объявлений. Заходим на страницу – Администрирование, Конструкция сайта, Представления. Создаем новое представление для материала.

Представление

Из полей я выбрал поле даты создания и заголовок. Критерии сортировки по дате создания – убывание. Фильтры – тип = объявление, материал = опубликовано. В основных настройках, стиль – таблица, элементов для показа – 25, ещё – да, уникальность – да. Так же добавим представление для страницы, там просто укажем пункт меню и адрес вывода. В качестве адреса вывода я, указал – ad. Сохраняем и идем – Администрирование, Настройки сайта, О сайте. В качестве главной странице сайта определяем созданное нами представление – ad.

Вот и все, в качестве монетизации можно использовать Google Adsens, для этого регистрируемся в программе гугла, получаем код для показа рекламных объявлений, создаем новый блок на сайте, добавляем туда код, определяем показывать внизу только на страницах объявлений.

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

Кстати для того чтобы снимать объявления после определённого периода времени, можно использовать триггеры, о том как это использовать читайте статью – «Использование триггеров в Drupal».

Спонсор этого поста: MoneyBurg – покупка webmoney моментально и без проблем, удобные способы расчета – пластиковые карты, наличными в касса Райффайзен банка и т.д.

Это стоит почитать:

Поделись с друзьями:


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

86 комментариев: Доска объявлений средствами Drupal

  1. Евгений говорит:

    Полезная информация. Давно подумываю о доске объявлений. Спс.

  2. Владимир говорит:

    статья супер!!! но вот не могу понять, как сделать в новых объявлений работали ссылка на само объявление, а то у меня только список объявлений, а прочитать само объявление не получается.

  3. Уведомление: Электронная коммерция и Drupal | Блог им. Майборода Владимира

  4. Натали говорит:

    Статья очень полезная, все просто и понятно)))
    Спасибо Вам!

    У меня есть вот какойй вопрос, на сайте примере у Вас венесены в блоки категории и населенные пункты, когда выбираешь лбой из них то получаем перечень нод (объявлений) в виде материала, а не как таблице на заглавной странице.
    Можно ли при выборе к примеру города получить перечень в табличном виде как на главной странице.
    Буду благодарна за ответ))

    • voffka говорит:

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

      • Тагир говорит:

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

  5. Натали говорит:

    Сенкс…все получилось. ))
    А вы не пробывали на такую доску ставить мультиязычность?

  6. Натали говорит:

    И еще вопрос по загруженным картинкам)))
    Они все в столбик загружаются, можно их блоком сделать в строчку, по 3 к примеру?

  7. sj говорит:

    спасибо, побольше бы таких статей. сейчас начинаю осваивать по немногу друпал. пока что интересно :)

  8. sj говорит:

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

    • voffka говорит:

      Во первых нужно проверить включен ли у Вас модуль Taxonomy Menu. Потом проверте настройки словаря возможно Вы сделали что то не так.

    • Татьяна говорит:

      была такая же ошибка дважды!
      В Taxonomy Meny в поле Menu Location посмотрите поподробнее — там есть одинаковые слова. Выбранное поле должно быть в таких скобочках

  9. sj говорит:

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

    • voffka говорит:

      Не думаю что это из за темы, но проверить это можно достаточно легко, установите тему Garland по умолчанию для Вашего сайта, если вы всё сделали верно в ней все будет работать 100%.

  10. Натали говорит:

    подскажите как именно надо прописать путь??
    второй день играюсь с этими синонимами(((
    Надо что бы на одном ноде(странице) было два перевода материала, тоесть если объявление на русском на ad5 то и украинская страница должна быть на пятом, разница должна быть только в приставке.
    Что ставить в:
    Шаблон для всех Объявление путей на Русский:
    Шаблон для всех Объявление путей на Ukrainian:
    Подскажите что делать или что читать(

  11. voffka говорит:

    1) В языковой панели (admin/settings/language) добавляем необходимый язык
    2) В установках языка на странице (admin/settings/language/add) устанавливаем префикс для каждого языка.
    3) На странице (admin/settings/language/configure) выбираем третий вариант (Префикс пути с определением языка).
    4) Устанавливаем модуль переключения языков Language Icons.
    5) В типе материала отмечаем — публиковать с переводом.
    6) На странице модуля i18n (admin/settings/i18n) выбираем Only current language.

    В итоге должно получиться /ru/ad5 , /en/ad5. Если нужно могу написать подробный мануал с картинками.

  12. Натали говорит:

    /ru/ad/28
    uk/ad/29
    вот так вышло((((
    все сделала, по вашему примеру. Если можно сделайте для тупых))) на картинках.

  13. rolex говорит:

    Спасибо, очень полезно!
    Но можете еще чуток расширить мой кругозор?
    Представьте, что создаем новый тип не Объявление, а, скажем, Задание.
    Как тогда прикрутить поле Исполнитель, которое должно содержать ссылку на юзера, выбираемого из списка пользователей сайта?

  14. Михаил говорит:

    А где у вас на сайте поиск?

  15. Андрей говорит:

    Подскажите пожалуйста, вот у вас при создании нового объявления есть пункт «Информация», а у меня отображается «Словари».
    И второй вопрос — если я под логином администратора, то поля «Имя», «Телефон», «Веб сайт», «Фото» отображаются, но если я создаю пользователя и вхожу под ним, то при создании нового объявления эти пункты не видны. Спасибо

    • voffka говорит:

      пункт «Информация» отображается так я переименовал «Словари», чтобы для гостя были видны созданые поля необходимо в настройках роли гостя разрешить отображение этих полей.

  16. Андрей говорит:

    Подскажите плз, а как сделать, чтоб ссылки в табличной форме были ссылками, как на http://www.pro-ufo.ru, а не просто текстом в таблице. Видимо я где-то не доглядел(

  17. mirenix говорит:

    Извините, но у вас в теле статьи пропущена буква «Теперь давайте настоим формирование ссылок…» ;)
    Статья отличная! +5

  18. Dimarik говорит:

    Такой вопрос: а как добавить тип контента Объявление на определенную страницу? (Если можно поподробнее). Спасибо.

  19. sl говорит:

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

  20. sl говорит:

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

  21. Юрий говорит:

    Спасибо за статью очень грамотно и лаконично! Вопрос, а как сделать чтобы фотки отображались маленькими а при нажатии разворачивались в истинный размер, какой модуль использовать и как? Я ток недавно начал изучать друпал. И еще вопрос, можно ли сделать чтобы пользователи засунув фото на сайт не приводили его в заданный формат, а фото автоматически ужималось до размера 640х480?

  22. sl говорит:

    Есть список объявлений, которые сортируется по определенным критериям. Напр. есть список: районы. Выбрав нужный район нажав применить, можно увидеть материалы для этого района. Задействован модуль exposed filters. При открытии, по умолчанию выводится не все статьи которые имеются, а статьи который содержит первый район по списку. Мне бы хотелось вывести все записи, и при необходимости делать сортировку. Как это можно реализовать?

  23. Poltarr говорит:

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

    • voffka говорит:

      advertisement это название представления. В настройках представления страницы есть пункт меню надо нажать на него.

  24. Максим говорит:

    Для установки требуется Array,. На сайте Drupal.org, но ничего не смог найти. Может подскажите на что этот модуль способен и где его можно взять?

  25. Александр говорит:

    Приветствую! Отличная статья, благодарю!
    Подскажите пожалуйста, каким образом можно вставить ограничение по времени действия объявления. То-есть, при подаче объявления, посетитель/клиент мог выбрать до какой даты актуально предложение.
    Заранее благодарю!

    • Александр говорит:

      Аха! Есть модули: Date — часть его встраивается в CCK и мы получаем поле с датой. Rules и его подмодуль Rules Scheduler- планировщик одним словом.
      Осталось разобраться в последнем и подружить их оба два.
      Почти эврика =) Поможете?

  26. Андрей говорит:

    Здравствуйте!
    Скажите, а можно ли сделать, чтобы пользователь добавлял объявления и без регистрации?

    • voffka говорит:

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

  27. Андрей говорит:

    Здравствуйте!
    Некоторые модули, которые приведены в списке не имеют версии для Друпал 7.2. Можно ли устанавливать такие модули, будут ли они работать?

  28. RikZ говорит:

    как сделать вывод последних объявлений на главной странице ?
    я пока новичок в DRUPALе

  29. Евгений говорит:

    Спасибо огромное за статью, еще не пробовал, но судя по комментам у людей получается, как раз то что я искал

  30. Андрей говорит:

    Не подскажете ссылку на перевод модуля Taxonomy menu?

  31. diz4ok говорит:

    Спасибо статья супер.. но вот тока не могу разобраться выводит ссылки category/город/орск, как сделать чтобы все было на инглиш ?

  32. leden говорит:

    Создал тестового пользователя. Вошел от его имени но нет ссылки
    «Объявления» в меню.

  33. Максим говорит:

    При выборе категории верхнего уровня получаем пустую страницу. Не задумывались над этой проблемой? И еще, если пользователь по ошибке или намеренно поставит категорию вместо подкатегории?

  34. Artifex говорит:

    Вот уже второй день не могу найти настойки автоматических синонимов( у меня первод терминов) Раздел Node Paths не могу найти можете видео 3 минутное записать что да куда тыкать статья ваше хорошая.Просто нубиков приходится тыкать )))

  35. Андрей говорит:

    Здравствуйте.
    А как сделать, чтобы фото можно было рассмотреть в полном размере? Спасибо.

    • voffka говорит:

      Colorbox ставить ну а там дальше настраивай его как тебе удобно.

      • Андрей говорит:

        Спасибо. Еще вопрос, если, можно, а как сделать отображение списка объявлений в сокращенном виде, например только заголовки-ссылки, а по переходу по ним уже полный вид, это надо какое-то собственное представление сделать, что ли? Не врублюсь…

        • voffka говорит:

          Или представление или к уже созданному представлению добавить новый вариант вывода на пример в блок и там уже сделать в сокращенном виде.

          • Андрей говорит:

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

          • voffka говорит:

            Ну на главной у тебя общие представление, а конкретно то что у тебя выводится в объявлении настраивается в типе материала, там что выводить, скрывать, как отображать и тд.

          • Андрей говорит:

            Да нет, я же говорю о том, как сделать список объявлений в сокращенном виде… В типе материала я могу изменять только отображение объявлений а не их списков в таксономии…

          • voffka говорит:

            Тогда только представление.

      • Андрей говорит:

        Да, и неплохо было бы по клику на категории (напр. Бизнес) выводить не объявления, список ссылок на подкатегории, не правда ли? Но как…

        • voffka говорит:

          Ну первое что пришло в голову, можно как вариант сделать с помощью Nice Menu новое меню, создать в нем пункты которые будут выводить объявления по заданным терминам.

  36. Уведомление: Скачать сборку доски объявлений на Drupal | Блог им. Майборода Владимира | Блог им. Майборода Владимира

  37. Димка говорит:

    Спасибо статья очень помогла в познании Drupal:) Не подскажете как сделать чтобы рядом с категориями выводилось количество объявлений в них?

  38. Уведомление: Создаем сайт с платным доступом к контенту на базе Drupal. | Блог им. Майборода Владимира | Блог им. Майборода Владимира

  39. Виталий говорит:

    Доброго вам дня!!!
    У меня вопрос такого характера, на чем лучше начать делать доску объявлений без регистрации пользователей, в остальном это должна быть полноценная доска?

    • voffka говорит:

      Ну сделайте на Друпале, просто в настройках прав доступа разрешите добавлять объявление без регистрации.

  40. Cmmndr говорит:

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

    Сделал тоже самое но на 7-ке без проблем, только одно НО, у вас оно тоже похоже осталось,на сайте где демка доски.
    Выбираем например раздел «Бытовая техника» ,а там ни чего не выводиться,а хотелось бы что бы там выводились материалы с под разделов как сделать не подскажите?

    http://www.pro-ufo.ru/1/84

  41. Cmmndr говорит:

    Может кому пригодиться.

    Все оказалось намного проще и ни чего устанавливать не надо.
    Заходим во вьющки и включаем уже имеющуюся заготовку Taxonomy term
    в ней внутри задаем глубину вложений

    CONTEXTUAL FILTERS
    Содержимое: Has taxonomy term ID (with depth) — у меня это 1 ))

    и Все.

    Еще раз спасибо за пост.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

*

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>