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

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


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


Типовые примеры работы с моделями

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

<?php
require 'ami_env.php';
 
$oResponse = AMI::getSingleton('response');
$oResponse->start();
 
$modId = 'news';
 
$oNewsModelList = AMI::getResourceModel($modId . '/table')->getList();
 
$oNewsModelList
  ->addColumns(array('date_created', 'header', 'id'))
  ->addWhereDef(
    DB_Query::getSnippet('AND %s = %s')
      ->plain($oNewsModelList->getFieldName('public'))
      ->plain(1)
  )
  ->addWhereDef(
    DB_Query::getSnippet('AND %s = %s')
      ->plain($oNewsModelList->getFieldName('lang'))
      ->q('ru')
  )
  ->addOrder('date_created', ' desc')
  ->setLimitParameters(0, 3)
  ->load();
 
$res = '<table>';
$res .= '<tr><th>Дата</th><th>Название</th></tr>';
 
foreach($oNewsModelList as $oNewsModelItem) {
    $res .= '<tr><td>' . $oNewsModelItem->date_created . '</td><td>' . $oNewsModelItem->header . '</td></tr>';
}
 
$res .= '</table>';
 
$oResponse->write($res);
$oResponse->send();


Добавление неквотируемых значений полей: 

class InstAmiSample_TableItemModifier extends AMI_ModTableItemModifier{
 
    public function getDefaultsOnSave($onCreate){
        $aDefaults = parent::getDefaultsOnSave($onCreate);
        $aDefaults['append']['ts'] = DB_Query::getSnippet('%s')->plain('NOW()');
        $aDefaults['overwrite']['ts'] = DB_Query::getSnippet('%s')->plain('NOW()');
        return $aDefaults;
    }
    // ...
}
 
// ....
 
$oTableItem = AMI::getResourceModel('inst_ami_sample/table')->getItem();
$oTableItem->ts = DB_Query::getSnippet('DATE_ADD(NOW(), INTERVAL 5 day');
Установка и настройка Руководство пользователя Интеграция дизайна Разработчикам (API)
 2000 – 2021 © Amiro.CMS Все права защищены.