Различия
Здесь показаны различия между двумя версиями данной страницы.
Следующая версия | Предыдущая версия | ||
abills:docs:modules:info:ru [2015/12/04 11:27] anton создано |
abills:docs:modules:info:ru [2017/10/23 12:09] (текущий) bohdan [Использование] |
||
---|---|---|---|
Строка 1: | Строка 1: | ||
===== Info ===== | ===== Info ===== | ||
+ | |||
+ | Модуль предназначен для введения возможностей универсальных комментариев для любого объекта в системе.\\ | ||
+ | \\ | ||
+ | На данный момент поддерживается возможность ведения текстовых коментариев.\\ | ||
+ | В дальнейшем планируются ведение координат и фотографий объекта.\\ | ||
+ | |||
+ | ====Установка==== | ||
+ | |||
+ | Создать таблицы в базе. | ||
+ | # mysql --default-character-set=utf8 -D abills < db/Info.sql | ||
+ | |||
+ | Подключение модуля. | ||
+ | **abills/libexec/config.pl** | ||
+ | <code> | ||
+ | @MODULES = ( | ||
+ | 'Info' | ||
+ | ); | ||
+ | </code> | ||
+ | |||
+ | Создайте папки для хранения документов и картинок: | ||
+ | # mkdir -p /usr/abills/Abills/templates/Info/docs/ | ||
+ | # chown -R apache /usr/abills/Abills/templates/Info/docs/ | ||
+ | # mkdir -p /usr/abills/Abills/templates/Info/images/ | ||
+ | # chown -R apache /usr/abills/Abills/templates/Info/images/ | ||
+ | ==== Структура ==== | ||
+ | Модуль состоит из файлов: | ||
+ | * Abills\mysql\Info.pm | ||
+ | * Abills\modules\Info\webinterface | ||
+ | * cgi-bin\styles\default_adm\js\info.js | ||
+ | * cgi-bin\styles\default_adm\css\info.css | ||
+ | |||
+ | В файле ''cgi-bin\styles\default_adm\js\info.js'' содержатся JavaScript функции для реализации AJAX технологии.\\ | ||
+ | Это позволяет удалять, добавлять и обновлять блок комментариев без перезагрузки страницы. | ||
+ | |||
+ | В файле ''cgi-bin\styles\default_adm\js\info.css'' стили для шаблонов. | ||
+ | ==== Использование ==== | ||
+ | Для отображения блока комментариев используется функция ''show_comments($object_type, $object_id, $attr)''.\\ | ||
+ | Аргументы функции: \\ | ||
+ | * $object_type - тип объекта (Название таблицы). Служит для создания уникального ключа идентификации комментариев. | ||
+ | * $object_id - id объекта | ||
+ | * $attr - дополнительные атрибуты для tpl_show(); | ||
+ | |||
+ | Результатом выполнения функции будет вывод HTML-кода с блоком комментариев, в котором присутствуют кнопки для добавления и удаления комментариев.\\ | ||
+ | \\ | ||
+ | {{:abills:docs:modules:info:info_comments.png?nolink&800|}} | ||
+ | \\ | ||
+ | Каждому добавленному комментарию присваивается текущее время и id администратора, который добавил комментарий.\\ | ||
+ | |||
+ | Пример: | ||
+ | <code> | ||
+ | load_module('Info', $html); | ||
+ | info_comments_show('admins', 25); # Show comments for 'admins' table object with id 25 | ||
+ | </code> | ||
+ | ==== Внешний API модуля ==== | ||
+ | Для получения списка комментариев используется функция $Info->get_comments ($type, $id, $attr) \\ | ||
+ | Аргументы функции: \\ | ||
+ | * $object_type - тип объекта (Название таблицы). Служит для создания уникального ключа идентификации комментария. | ||
+ | * $object_id - id объекта | ||
+ | * $attr - дополнительные атрибуты для SQL-запроса (''SORT'', ''PAGE_ROWS'' , ''DESC'', ''PG''); | ||
+ | \\ | ||
+ | Возвращает массив комментариев для объекта.\\ | ||
+ | Пример: | ||
+ | <code> | ||
+ | my $comments = $Info->get_comments('admins', 2, { COLS_NAME => 1 }); | ||
+ | </code> | ||
+ | \\ | ||
+ | В переменной ''$comments'' получим указатель на массив со структурой: | ||
+ | <code> | ||
+ | [ | ||
+ | { | ||
+ | 'id' => 2, # Id of comment in `comments` table | ||
+ | 'text' => 'This guy is awesome', # Text of comment | ||
+ | 'date' => '01.01.2016 01:02:59', # DateTime when comment was leaved | ||
+ | 'name' => 'John' # Name of administrator who leaved comment | ||
+ | } | ||
+ | ] | ||
+ | </code> | ||
+ |