Центр документации
Карта сайта

Создай визитку сам!


Самоучитель по интеграции дизайна и настройке Amiro.CMS на примере демонстрационной версии пакета Визитка »


Модель данных

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

  1. Создает модель списка
  2. Создает модель элемента
  3. Управляет зависимостью моделей (добавление, активация / деактивация)
  4. Возвращает информацию о модели (столбцы таблицы базы данных, атрибуты файлов и т.п.)

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

Пример получения модели данных для модуля новостей:

$oNewsTableModel = AMI::getResourceModel('news/table');

Результат: экземпляр объекта AmiMultifeeds_News_Table

Примеры использования модели данных

Получение модели списка:

AMI::getResourceModel($modId . '/table')->getList();

Получение модели элемента:

AMI::getResourceModel($modId . '/table')->getItem();

Поиск элемента по id:

AMI::getResourceModel($modId . '/table')->find($id);

Получение списка доступных полей модели:

AMI::getResourceModel($modId . '/table')->getAvailableFields();

Общие поля, присутствующие в большинстве моделей:

Поле

Тип

Описание

Общие поля

id

целое

Идентификатор

public

0/1

1 – элемент доступен на сайте, 0 – элемент неопубликован на сайте

header

строка

Заголовок

announce

строка

Краткое описание

body

строка

Полное описание

lang

строка, 2-3 символа

Принадлежность элемента к локализации (ru, en, de, и т.д.)

date_created

дата

Дата создания

date_modified

дата

Дата модификации

sublink

строка

Собственная часть URL элемента на публичной части сайта

id_page

Целое

Идентификатор страницы элемента в менеджере сайте (0 – общий элемент)

id_owner

Целое

Идентификатор владельца элемента

position

Целое

Позиция для сортировки в ручном режиме

details_noindex

0/1

Флаг, регулирующий запрет индексации поисковыми роботами страницы детальной информации об элементе

hide_in_list

0/1

Флаг, регулирующий скрытие элемента в списках, без запрета на показ по прямой ссылке

sticky

0/1

Флаг, указывающий, что элемент является прикрепленным в списке

date_sticky_till

строка, дата

Срок действия флага прикрепленности

Поля расширения изображений

ext_img

строка

Файл изображения

ext_img_small

строка

Файл малого изображения

ext_img_popup

строка

Файл всплывающего изображения

Поля расширения рейтингов

ext_rate_count

целое

Число голосов

ext_rate_rate

целое

Рейтинг элемента

Поля расширения обсуждения

ext_dsc_disable

0/1

Флаг, регулирующий запрет обсуждения элемента

Поля расширения категорий (добавляются только при активированном расширении категорий)

cat_id

целое

Идентификатор категории

cat_header

строка

Заголовок категории

cat_sublink

строка

Собственная часть URL категории элемента на публичной части сайта

При использовании генератора решений можно указать будет ли созданное решение иметь собственные данные.

Полный список методов модели данных доступен в Amiro.CMS API Reference.

Установка и настройка Руководство пользователя Интеграция дизайна Разработчикам (API)
 2000 – 2021 © Amiro.CMS Все права защищены.