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
Разное:
- объявления на модерации
- неопубликованные (черновики)
Мои объявления:
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:
Code=advboard
Name=Ads board
Description=Ads board module for Cotonti Siena
Version=3.0.3
Date=August 29, 2017
Author=Kalnov Alexey
Copyright=(с)
Requires_modules=users
Recommends_modules=files
Requires_plugins=cotontilib
Recommends_plugins=regioncity
Готовые плагины для Cotonti — Веб-разработка на CMS / CMF Cotonti
Готовые плагины и модули, услуги по веб-разработке на Cotonti
Cotonti, плагины, модули, фриланс биржа, портал товаров и услуг, скачать плагины для Cotonti