Иной раз возникает необходимость вывести значение кастомного поля в том месте, где функционалом Amiro.CMS это не предусмотрено, и здесь к нам на помощь приходит API. В очень упрощенном варианте такой PHP код будет выглядеть так:
function get_cf_value($i_field, $item_id)
{
$fields = array(0 => 'id', 1 => $i_field);
$modId = 'eshop_item';
AMI::initModExtensions($modId);
$items = AMI::getResourceModel($modId. '/table')
->getList()
->addColumns($fields)
->addWhereDef('AND i.id='. $item_id)
->addNavColumns('lang', 'ru')
->requestModLinks()
->load();
foreach ($items as $item)
{
if ($item_id = (int)$item->id) {
$data[$item_id] = array();
foreach ($fields as $field) {
$data[$item_id][$field] = $item->$field;
}
}
}
return $data[$item_id][$i_field];
}
Где - $i_field - полное название кастомного поля, например custom_field_13
- $item_id - числовое значения Item ID товара.
|