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


Новая документация

Настройка платежных систем
Настройка способа оплаты КупиВкредит
Настройка способа оплаты Acquiro
Настройка способа оплаты AvisoSMS

Обновленная документация 

Разработчикам (API)
Руководство пользователя

Модель элемента

Модель элемента отвечает за хранение данных и выполняет следующие роли:

  1. Загрузку данных в объект из хранилища;
  2. Сохранение данных из объекта в хранилище;
  3. Удаление одного элемента из хранилища;
  4. Получение свойств(а) загруженного элемента;
  5. Установка свойств(а) загруженному элемента;
  6. Установка списка свойств, для которых будет запоминаться исходное состояние и получение изменившихся свойств.

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

Внимание

Модификационные действия модели элемента, такие как сохранение и удаление, выполняются только в полном окружении. 

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

$oNewsModelItem = AMI::getResourceModel('news/table')->getItem();

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

Для того чтобы получить модель элемента, соответствующую конкретной записи, можно воспользоваться методом find модели данных модуля:

$oModelItem = getResourceModel($modId . '/table')->find($id);

Или загрузить данные в существующую пустую модель:

$oModelItem = getResourceModel($modId . '/table')->getItem();
$oModelItem->addSearchCondition(array('id' => $id));
$oModelItem->load();

Если для работы с моделью элемента не требуются значения абсолютно всех полей, рекомендуется перед вызовом load указывать список загружаемых полей:

$oModelItem->addFields(array('*'));
$oModelItem = getResourceModel($modId . '/table')->find($id, array(*));

После загрузки данных, значения полей элемента доступны как свойства объекта модели элемента:

$header = $oModelItem->header;
$announce = $oModelItem->announce;

Значения полей можно изменять:

$oModelItem->header = 'new header';

Нужно иметь в виду, что при сохранении элемента, такие значения квотируются (обрамляются кавычками).
Для того чтобы передать полю модели элемента неквотируемое значение (например SQL функцию), нужно использовать сниппет.

$oModelItem->date = DB_Query:getSnippet('NOW()');

Сохранение элемента:

$oModelItem->save();

Удаление элемента:

$oModelItem->delete();

Получение идентификатора записи (например, после сохранения нового элемента):

$oModelItem->getId();

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

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