Cotonti — Доска объявлений
Модуль доски объявлений для CMF Cotonti.
Это расширение позволяет организовать доску объявлений на Вашем сайте под управлением Cotonti. Оно является полноценным модулем со своей таблицей объявлений в БД с поддержкой экстраполей и своей структурой категорий.
Системные требования и ограничения:
Наличие на Вашем сайте установленной библиотеки Cotonti Lib версии 2.0.1 — 2.0.3
В качестве шаблонизатора используется View
Установка:
— Скопировать модуль на сервер или склонировать репозиторий в папку modules/advboard
— Установить модуль из панели администратора
— В папке inc установить права на запись на файл ‘send.txt’
Возможности:
— подача объявлений на сайт
— опциональное автоутверждение объявлений или премодерация для каждой категории
— уведомление пользователя о новых комментариях к своему объявлению на e-email
— уведомление пользователя об истечении срока публикации объявления на свой e-email
— редактирование пользователем своих объявлений
— незарегистрированные пользователи могут редактировать объявление в пределах сессии
— «Мои объявления» в профиле пользователя
— Список объявлений пользователя на странице его профиля
— «Прилепленные» объявления выводятся сверху списка
— Вывод списка последних объявлений
— Виджет объявлений
— Сравнение объявлений
Права пользователей:
Права пользователей зависят от прав на категории доски объявлений.
Дополнительные права:
1 — загрузка файлов
2 — автоутверждение объявлений.
Загрузка файлов используется в шаблоне редактирования объявления. Если пользователь обладает этим правом, то вы можете отобразить для него виджет загрузки модуля файлов.
Если пользователь не обладает правом 2 (Автоутверждение объявлений), то его объявления попадают на модерацию и без подверждения администратора не будут показаны другим пользователям.
Виджет объявлений:
Для вывода списка в произвольное место используется виджет advboard_controller_Widget::widget(). Объявлен в файле: modules/advboard/controller/Widget.php
Сам виджет имеет вид:
public static function widget($condition = array(), $tpl = 'advboard.widget.list', $items = 0, $order = '', $onlyActive = true, $pagination = 'pld', $params = array())
где:
$condition — SQL запрос для запроса объявлений
$tpl — файл шаблона для вывода
$items — количество элементов для вывода
$order — порядок сортировки по правилам SQL
$onlyActive — Выводить только активные объявления
$pagination — параметр для постраничной навигации, если будет использоваться
Обратите внимание на то что в качестве шаблонизатора виджет использует View из Cotonti Lib а не coTemplate.
Подробнее понять его работу можно посмотрев код виджета.
Если Вы хотите вывести список в tpl-файле, то CoTemplate, в отличии от View не умеет работать с класами. В этом случае используйте виджет-обертку для этого метода advboard_widget(). см. modules/advboard/inc/advboard.functions.php
Письма с уведомлениями:
Если в настройках включено уведомление администратора о новых объявлениях, то он получает уведомления о всех добавленных или измененных объявлениях, иначе только если объявление попало на модерацию.
Вы можете создавать шаблоны уведомлений именуя файлы следующим образом: advboard.notify_admin_new.<lang>.<category>.php
Разное:
http://<ваш_домен>/advboard/unvalidated — объявления на модерации
http://<ваш_домен>/advboard/saved-drafts — неопубликованные (черновики)
Мои объявления: cot_url('advboard', array('m' => 'user'))
Объявления пользователя: cot_url('advboard', array('m' => 'user', 'uid' => $user_id))
Количество объявлений пользователя: cot_user_ads_count($user_id)
RSS лента: cot_url('advboard', 'm=rss&c=<код_категории>')
Если пользователю создать екстраполя phone и city (city_name), то он может использовать их, чтобы не заполнять в объявлениях одну и ту же информацию.
фильтр поиска в расширение не входит. Там используется универсальный плагин фильтра для моделей SOM из Cotonti-lib. На форуме Cotonti другой плагин, не этот.
Но вы и сами легко можете сделать форму фильтров как на сайте образце и обработать запрос и скорректировать условие выборки используя хук: advboard.list.query
см. modules/advboard/controller/Main.php
С главной страницей доски пока не определился. На разных сайтах объявления выводятся по разным критериям. Используйте для их вывода виджет: advboard_controller_Widget::adsList(); При вызове метода Вы сможете задать нужные параметры выборки и количество выводимых объявлений.
Вот в самом конце странички есть пункт «История изменений». Там сказано:
Версия v.3.0.1 Совместимость с Cotonti Lib v2.0.
Это значит, что если Вы скачали доску объявлений последней версии на текущий момент времени (3.0.1), то Вам нужна Cotonti Lib версии 2.0. Скачайте ее. Из мастер-ветки Cotonti Lib.
Установка элементарна. Она ничем не отличается от установки любого другого расширения. Установили Cotonti Lib, скопировали модуль в папку modules. Именно в modules а не в какую другую, как некоторые уникумы. Зашли в админке — жмите «Установить». Если нужно свои шаблоны — копируете нужные в свою тему. На сайте Cotonti есть исчерпывающая информация по установке расширений, копировать которую сюда просто нет смысла.
В архиве переименуйте папку advboard-master в advboard. Иначе не отображается в списке модулей в админке.
Тип: Модуль
Версия: 3.0.3
Совместимость: Siena
GitHub: https://github.com/Alex300/advboard
Code=advboard Name=Ads board Description=Ads board module for Cotonti Siena Version=3.0.3 Date=August 29, 2017 Author=Kalnov Alexey Copyright=(с) https://github.com/Alex300 Requires_modules=users Recommends_modules=files Requires_plugins=cotontilib Recommends_plugins=regioncity
Готовые плагины для Cotonti — Веб-разработка на CMS / CMF Cotonti
Готовые плагины и модули, услуги по веб-разработке на Cotonti
Cotonti, плагины, модули, фриланс биржа, портал товаров и услуг, скачать плагины для Cotonti