<?php
/**
* Own models creation example.
*
* This script must be located at site root.<br />
*
* @copyright Amiro.CMS.
* @category Example
* @package Example_Models
* @since 5.10.0
*/
require 'ami_env.php';
/**
* @var AMI_Response
*/
$oResponse->start();
/**
* Enable bench and db queries
*/
'MyModule1_Table' => 'MyModule1_TableModels',
'MyModule1_TableItem' => 'MyModule1_TableModels',
'MyModule1_TableList' => 'MyModule1_TableModels',
'MyModule2_Table' => 'MyModule2_TableModels',
'MyModule2_TableItem' => 'MyModule2_TableModels',
'MyModule2_TableList' => 'MyModule2_TableModels',
'MyModule2Cat_Table' => 'MyModule2_TableModels',
'MyModule2Cat_TableItem' => 'MyModule2_TableModels',
'MyModule2Cat_TableList' => 'MyModule2_Table'
));
'my_module1/table/model' => 'MyModule1_Table',
'my_module1/table/item/model' => 'MyModule1_TableItem',
'my_module1/table/list/model' => 'MyModule1_TableList',
'my_module2/table/model' => 'MyModule2_Table',
'my_module2/table/item/model' => 'MyModule2_TableItem',
'my_module2/table/list/model' => 'MyModule2_TableList',
'my_module2_cat/table/model' => 'MyModule2Cat_Table',
'my_module2_cat/table/item/model' => 'MyModule2Cat_TableItem',
'my_module2_cat/table/list/model' => 'MyModule2Cat_TableList'
));
/**
* Generate HTML.
*/
$oTpl->addBlock('example', 'models.tpl');
/**
* Template scope
*
* @var array
*/
$aScope = array('body' => '');
foreach(array('my_module1', 'my_module2') as $modId){
$aScope = array(
'mod_id' => $modId,
'thead' => '',
'tbody' => ''
) + $aScope;
/**
* Initialize Category extension (if dependen model with 'cat' alias is present.
*/
/**
* Get list model.
*
* @var AMI_ModTableList
*/
/**
* Add all awailable columns.
* @see PlgAJAXResp_ListView::addColumnsToModel()
*/
$oListModel->addColumns($column, $modelAlias);
}else{
$oListModel->addColumn($column);
}
}
$oListModel->load();
$aScope['thead'] = $oTpl->parse('example:thead_empty');
}
if(!$index){
// first row, display table head
foreach(array_keys($oItemModel->getData()) as $colName){
$aScope['thead'] .=
$oTpl->parse('example:thead_th', array('col_name' => $colName));
}
}
$aScope['row'] = '';
$aScope['row'] .= $oTpl->parse('example:tbody_td', array('col_value' => $colValue));
}
$aScope['tbody'] .= $oTpl->parse('example:tbody_tr', $aScope);
}
$aScope['body'] .= $oTpl->parse('example:model_table', $aScope);
}
/**
* Write and send response
*/
$oResponse->write($oTpl->parse('example:body', $aScope));
$oResponse->send();