Сегодня в продолжение серии статей о типовых решениях на Drupal, мы поговорим о создании сайта – «доски объявлений» средствами Drupal. На примере бесплатной доски объявлений по Ставропольскому краю (www.pro-ufo.ru). В данной статье будет рассмотрена уже работающая доска объявлений, в Вашем случае целесообразнее установить Drupal на домашний компьютер и применить все советы, предложенные мною в данной статье, после чего сделать тоже самое но уже на рабочем варианте, либо сразу производить настройку рабочей системы.Как установить Drupal на домашнем компьютере читайте в моей статье – «Подготавливаем локальный сервер для работы с Drupal.»
Что же такое «доска объявлений» — это сайт, где любой пользователь может разместить свое объявление, аналогично доске объявлений или газете бесплатных объявлений в обычной жизни. Как правило, доски объявлений являются бесплатными, тематическими и моделируемыми.
Но мы конечно же не будем забывать про возможные варианты монетизации сайта, чтобы окупать затраты на хостинг, а при хорошем раскладе еще и зарабатывать.
Теперь давайте поговорим об основном функционале нашего проекта, нам понадобиться:
- Регистрация пользователей на сайте, без этого я считаю ни как, во-первых, это защита от спама, во-вторых, это база потенциальных клиентов которым можно будет производить различного рода рассылки в будущем, в третьих для предоставления платных услуг пользователям доски объявлений в будущем.
- Рубрикатор категорий, и рубрикатор по городам, что бы информация была структурирована и удобна для поиска.
- Возможность прикреплять фотографии к объявлениям, мы же не в каменном веке живем.
- Возможность размещения контактной информации.
Теперь о модулях, которые необходимо установить для дальнейшей работы:
- CCK
- Image Field
- Taxonomy Menu
- Wysiwyg
- Views
- Pathauto
- Poormanscron
- Similar by terms
- Token
Ну и естественно Drupal 6 последней версии, на текущий момент это 6.19.
Теперь перейдем к настройке, я надеюсь, что Drupal и вспомогательные модули вы уже установили, если нет, устанавливаем, включаем и читаем дальше.
Что бы было все красиво нам нужно создать новый тип материала, назовем его объявление (ad). Для того чтобы создать новый тип, зайдите – Администрирование, Содержание, Типы материалов, Добавить тип материала (www.site.ru/admin/content/types/add). Дальше можете указать настройки как на скрине ниже, все картинки кликабельны.
Жмем сохранить, и возвращаемся к странице, на которой перечислены все типы материалов (www.site.ru/admin/content/types). В этом списке мы видим созданный нами новый материал.
Справой стороны от названия и типа материала есть ссылка – управлять полями. Для нашего нового типа материалов мы создадим необходимые нам дополнительные поля. Это будут: фото, контактный телефон, контактное лицо, веб сайт. Все кроме фото будут иметь тип текст – текстовая строка. Фото будет иметь тип файл – изображение.
С текстовыми полями думаю вопросов возникнуть не должно, а вот о типе фото поговорим подробнее.
Выставим следующие настойки:
- Допустимые расширения файлов для загрузки: png, gif, jpg, jpeg
- Максимальное разрешение для изображения: 640×480 (это для моего дизайна, у вас может отличаться)
- Максимальный размер файла: 2m
- Количество значений: 1
- Возможность отображения, скрытия списка вложений: отключено
- Поле описания: отключено
Сохраняем настройки поля!
Теперь вы можете перемещать поля, так как вам удобно, тем самым вы определите порядок заполнения формы, у меня получилось так.
Теперь ещё один немало важный момент, в настойке. Перейдем по вкладке – отображение полей, она находится на странице управления полями.
Выставим для поля – фото, метка – выше (можете поставить скрыто, тогда при просмотре объявления над фотографией не будет надписи — фото), краткая аннотация – изображение, материал полностью – изображение. Для всех остальных полей, метка – выше, все остальное по умолчанию.
Теперь нам необходимо создать рубрики, для этого воспользуемся таксономией. Тут подробно останавливаться не буду, все достаточно просто. Создаем 3 словаря – город, тип объявления, категория объявления. Заполняем по вашему вкусу, и под ваши нужды.
Теперь, когда рубрикатор создан, давайте создадим тестового пользователя. В разрешениях не забудем разрешить зарегистрированным пользователям создавать материалы типа объявление. Создали, заходим под ним, и пытаемся создать новое объявление, если все сделали правильно то у вас получится как у меня.
Теперь создадим два пустых меню, города и категории. После их создания проследуем в настройки словарей таксономии. В словаре «город», есть блок taxonomy menu. Выберем в menu location наше созданное меню город. Сними галочки везде кроме Synchronise changes to this vocabulary. Сохраняем, переходим в блоки и настраиваем отображение блока с меню в нужной вам части сайта. Для категории проделываем тоже самое.
Теперь давайте настроим формирование ссылок с помощью pathauto. Тут тоже нечего сложно нет, заходим на страницу – Администрирование, Конструкция сайта, Синонимы, Настройка автоматических синонимов. В разделе Node paths, в поле шаблона для материала типа объявление пишем — ad/[nid]. Для остальных типов можете менять по своему усмотрению.
Осталось сделать представление для публикуемых объявлений. Заходим на страницу – Администрирование, Конструкция сайта, Представления. Создаем новое представление для материала.
Из полей я выбрал поле даты создания и заголовок. Критерии сортировки по дате создания – убывание. Фильтры – тип = объявление, материал = опубликовано. В основных настройках, стиль – таблица, элементов для показа – 25, ещё – да, уникальность – да. Так же добавим представление для страницы, там просто укажем пункт меню и адрес вывода. В качестве адреса вывода я, указал – ad. Сохраняем и идем – Администрирование, Настройки сайта, О сайте. В качестве главной странице сайта определяем созданное нами представление – ad.
Вот и все, в качестве монетизации можно использовать Google Adsens, для этого регистрируемся в программе гугла, получаем код для показа рекламных объявлений, создаем новый блок на сайте, добавляем туда код, определяем показывать внизу только на страницах объявлений.
Вы можете так же создать так же новую роль для VIP пользователей, которая будет обладать определёнными приведениями, например пользователям этой роли не будет показываться реклама, объявления будут размещаться на неограниченное количество времени, возможность загружать больше фото, личная страница и т.д. Все зависит от вашей фантазии.
Кстати для того чтобы снимать объявления после определённого периода времени, можно использовать триггеры, о том как это использовать читайте статью – «Использование триггеров в Drupal».
Спонсор этого поста: MoneyBurg – покупка webmoney моментально и без проблем, удобные способы расчета – пластиковые карты, наличными в касса Райффайзен банка и т.д.





Полезная информация. Давно подумываю о доске объявлений. Спс.
статья супер!!! но вот не могу понять, как сделать в новых объявлений работали ссылка на само объявление, а то у меня только список объявлений, а прочитать само объявление не получается.
блин забыл галочку поставить «Link this field to its node»
Ну да её и забыл
Уведомление: Электронная коммерция и Drupal | Блог им. Майборода Владимира
Статья очень полезная, все просто и понятно)))
Спасибо Вам!
У меня есть вот какойй вопрос, на сайте примере у Вас венесены в блоки категории и населенные пункты, когда выбираешь лбой из них то получаем перечень нод (объявлений) в виде материала, а не как таблице на заглавной странице.
Можно ли при выборе к примеру города получить перечень в табличном виде как на главной странице.
Буду благодарна за ответ))
Всегда пожалуйста
.
Да можно, для этого необходимо создать представления для категорий и населённых пунктов.
кстати, совсем не обязательно создавать представления для каждой категории и каждого нас. пункта, достаточно использовать представления с аргументами, тогда не придется делать кучу представлений
Сенкс…все получилось. ))
А вы не пробывали на такую доску ставить мультиязычность?
А че тут пробовать, ставь модуль i18n — http://drupal.org/project/i18n. Настраивай и будет тебе мультиязычность.
И еще вопрос по загруженным картинкам)))
Они все в столбик загружаются, можно их блоком сделать в строчку, по 3 к примеру?
В настройках представления есть пункт — Стиль — Таблица, попробуй изменить его на Стиль — Сетка. Ну а дальше чтобы до идеала довести нужно CSS править.
Вот порадовали)))))
А я целый день голову ламала))
Обращайтесь помогу чем смогу
спасибо, побольше бы таких статей. сейчас начинаю осваивать по немногу друпал. пока что интересно
Пожалуйста
подскажите, пробовал делать все по уроку, у меня не выводятся категории и города в шаблоне, в блоках ставлю отображать в правой/левой колонках — они все равно не показываются. почему так может быть?
Во первых нужно проверить включен ли у Вас модуль Taxonomy Menu. Потом проверте настройки словаря возможно Вы сделали что то не так.
была такая же ошибка дважды!
В Taxonomy Meny в поле Menu Location посмотрите поподробнее — там есть одинаковые слова. Выбранное поле должно быть в таких скобочках
в треугольных скобочках
определил что в колонках не отображаются никакие блоки меню,кроме «основные ссылки»
почему так может быть, это видимо стандартный шаблон не поддерживает ?
Не думаю что это из за темы, но проверить это можно достаточно легко, установите тему Garland по умолчанию для Вашего сайта, если вы всё сделали верно в ней все будет работать 100%.
спасибо, помоему разобрался
подскажите как именно надо прописать путь??
второй день играюсь с этими синонимами(((
Надо что бы на одном ноде(странице) было два перевода материала, тоесть если объявление на русском на ad5 то и украинская страница должна быть на пятом, разница должна быть только в приставке.
Что ставить в:
Шаблон для всех Объявление путей на Русский:
Шаблон для всех Объявление путей на Ukrainian:
Подскажите что делать или что читать(
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. Если нужно могу написать подробный мануал с картинками.
/ru/ad/28
uk/ad/29
вот так вышло((((
все сделала, по вашему примеру. Если можно сделайте для тупых))) на картинках.
Ок напишу подробную статью.
Спасибо, очень полезно!
Но можете еще чуток расширить мой кругозор?
Представьте, что создаем новый тип не Объявление, а, скажем, Задание.
Как тогда прикрутить поле Исполнитель, которое должно содержать ссылку на юзера, выбираемого из списка пользователей сайта?
А где у вас на сайте поиск?
/search
Подскажите пожалуйста, вот у вас при создании нового объявления есть пункт «Информация», а у меня отображается «Словари».
И второй вопрос — если я под логином администратора, то поля «Имя», «Телефон», «Веб сайт», «Фото» отображаются, но если я создаю пользователя и вхожу под ним, то при создании нового объявления эти пункты не видны. Спасибо
пункт «Информация» отображается так я переименовал «Словари», чтобы для гостя были видны созданые поля необходимо в настройках роли гостя разрешить отображение этих полей.
Спасибо, получилось
Подскажите плз, а как сделать, чтоб ссылки в табличной форме были ссылками, как на http://www.pro-ufo.ru, а не просто текстом в таблице. Видимо я где-то не доглядел(
В представлении для элемента необходимо установить галочку — связать это поле с его материалом.
Благодарю. Всё получилось
Извините, но у вас в теле статьи пропущена буква «Теперь давайте настоим формирование ссылок…»
Статья отличная! +5
Такой вопрос: а как добавить тип контента Объявление на определенную страницу? (Если можно поподробнее). Спасибо.
Сделай представление через Views.
подскажите пожалуйста, как сделать различные фильтры для объявлений, напр. наверху списка
Можно с помощью Views крутить как угодно.
я хотел сказать сортировку в виде выпадающего списка, напр. есть категории, пользователь выбрал и нажал применить, представление тут же меняется
Спасибо за статью очень грамотно и лаконично! Вопрос, а как сделать чтобы фотки отображались маленькими а при нажатии разворачивались в истинный размер, какой модуль использовать и как? Я ток недавно начал изучать друпал. И еще вопрос, можно ли сделать чтобы пользователи засунув фото на сайт не приводили его в заданный формат, а фото автоматически ужималось до размера 640х480?
Да, надо указать настройки размера в поле изображения.
Есть список объявлений, которые сортируется по определенным критериям. Напр. есть список: районы. Выбрав нужный район нажав применить, можно увидеть материалы для этого района. Задействован модуль exposed filters. При открытии, по умолчанию выводится не все статьи которые имеются, а статьи который содержит первый район по списку. Мне бы хотелось вывести все записи, и при необходимости делать сортировку. Как это можно реализовать?
Создаем новое представление для материала.
Непонятно откуда берётся advertisement?
Так же добавим представление для страницы, там просто укажем пункт меню и адрес вывода. Непонятно где их указывать, можно картинку со стрелочкой?
advertisement это название представления. В настройках представления страницы есть пункт меню надо нажать на него.
Для установки требуется Array,. На сайте Drupal.org, но ничего не смог найти. Может подскажите на что этот модуль способен и где его можно взять?
http://www.drupal.ru/node/24746#comments
Приветствую! Отличная статья, благодарю!
Подскажите пожалуйста, каким образом можно вставить ограничение по времени действия объявления. То-есть, при подаче объявления, посетитель/клиент мог выбрать до какой даты актуально предложение.
Заранее благодарю!
Аха! Есть модули: Date — часть его встраивается в CCK и мы получаем поле с датой. Rules и его подмодуль Rules Scheduler- планировщик одним словом.
Осталось разобраться в последнем и подружить их оба два.
Почти эврика =) Поможете?
Здравствуйте!
Скажите, а можно ли сделать, чтобы пользователь добавлял объявления и без регистрации?
В настройках доступа, разрешить создовать данный тип материала анонимным пользователям.
Здравствуйте!
Некоторые модули, которые приведены в списке не имеют версии для Друпал 7.2. Можно ли устанавливать такие модули, будут ли они работать?
В статье описывается создание доски объявлений только на Drupal 6.
как сделать вывод последних объявлений на главной странице ?
я пока новичок в DRUPALе
Создай предстваление, в котором укажи что выводить и в каком количестве.
Спасибо огромное за статью, еще не пробовал, но судя по комментам у людей получается, как раз то что я искал
Не подскажете ссылку на перевод модуля Taxonomy menu?
Поставь модуль — Localization update и не парься по поводу переводов.
Спасибо статья супер.. но вот тока не могу разобраться выводит ссылки category/город/орск, как сделать чтобы все было на инглиш ?
Создал тестового пользователя. Вошел от его имени но нет ссылки
«Объявления» в меню.
Ну добавь ссылку на создание этого типа материала в пользовательское меню.
При выборе категории верхнего уровня получаем пустую страницу. Не задумывались над этой проблемой? И еще, если пользователь по ошибке или намеренно поставит категорию вместо подкатегории?
Вот уже второй день не могу найти настойки автоматических синонимов( у меня первод терминов) Раздел Node Paths не могу найти можете видео 3 минутное записать что да куда тыкать статья ваше хорошая.Просто нубиков приходится тыкать )))
У вас модуль Pathauto и Token установлены ? Без них у Вас такой вкладки не появится.
Здравствуйте.
А как сделать, чтобы фото можно было рассмотреть в полном размере? Спасибо.
Colorbox ставить ну а там дальше настраивай его как тебе удобно.
Спасибо. Еще вопрос, если, можно, а как сделать отображение списка объявлений в сокращенном виде, например только заголовки-ссылки, а по переходу по ним уже полный вид, это надо какое-то собственное представление сделать, что ли? Не врублюсь…
Или представление или к уже созданному представлению добавить новый вариант вывода на пример в блок и там уже сделать в сокращенном виде.
А как применить этот вариант вывода к отображению объявлений в подразделах таксономии, а не только на главной? Вот этого я, простите, никак не пойму…
Ну на главной у тебя общие представление, а конкретно то что у тебя выводится в объявлении настраивается в типе материала, там что выводить, скрывать, как отображать и тд.
Да нет, я же говорю о том, как сделать список объявлений в сокращенном виде… В типе материала я могу изменять только отображение объявлений а не их списков в таксономии…
Тогда только представление.
Да, и неплохо было бы по клику на категории (напр. Бизнес) выводить не объявления, список ссылок на подкатегории, не правда ли? Но как…
Ну первое что пришло в голову, можно как вариант сделать с помощью Nice Menu новое меню, создать в нем пункты которые будут выводить объявления по заданным терминам.
Уведомление: Скачать сборку доски объявлений на Drupal | Блог им. Майборода Владимира | Блог им. Майборода Владимира
Спасибо статья очень помогла в познании Drupal:) Не подскажете как сделать чтобы рядом с категориями выводилось количество объявлений в них?
http://drupal.org/project/term_node_count
Спасибо:)
Уведомление: Создаем сайт с платным доступом к контенту на базе Drupal. | Блог им. Майборода Владимира | Блог им. Майборода Владимира
Доброго вам дня!!!
У меня вопрос такого характера, на чем лучше начать делать доску объявлений без регистрации пользователей, в остальном это должна быть полноценная доска?
Ну сделайте на Друпале, просто в настройках прав доступа разрешите добавлять объявление без регистрации.
Доброго времени суток. Спасибо огромное за статью, даже не представляете как выручили.))
Сделал тоже самое но на 7-ке без проблем, только одно НО, у вас оно тоже похоже осталось,на сайте где демка доски.
Выбираем например раздел «Бытовая техника» ,а там ни чего не выводиться,а хотелось бы что бы там выводились материалы с под разделов как сделать не подскажите?
http://www.pro-ufo.ru/1/84
Я думаю что http://drupal.org/project/taxonomy_filter решит вашу проблему или http://drupal.org/project/tf_views
Может кому пригодиться.
Все оказалось намного проще и ни чего устанавливать не надо.
Заходим во вьющки и включаем уже имеющуюся заготовку Taxonomy term
в ней внутри задаем глубину вложений
CONTEXTUAL FILTERS
Содержимое: Has taxonomy term ID (with depth) — у меня это 1 ))
и Все.
Еще раз спасибо за пост.