Не зарегистрирован
Вход
Забыли пароль?
Регистрация
Подписаться
Сэкономьте время — перед вопросом на форуме узнайте, как найти ответ быстрее
По техническим проблемам необходимо обращаться в Консультационный центр

Поиск по форуму: 

Приглашаем в блог Amiro.CMS. Регулярные обзоры, опыт, решения, практикумы.
Форум  ->   Разработка плагинов, вопросы по API  ->  Связь товара и его свойств (точнее их названий)


Показать все сообщения в этой ветке


Добавлено: 29.08.14 17:39:58  




Регистрация: 24.09.10
Сообщений: 63


Обратиться по имени

Evgeney S., спасибо еще раз!
Пришел вот к такому решению, надеюсь кому то еще будет полезно.
function getCustomFieldsXML($id) {
    $ret = '';
    $oDB = AMI::getSingleton('db');
    $custtypesDB = $oDB->select("SELECT * FROM `cms_es_custom_types`");
    $custtypes = array();
    foreach ($custtypesDB as $ct) {
        if ($ct['isnot_all'] == 0 && $ct['is_prop'] == 0 && $ct['type_owner'] == 'item' && $ct['ftype'] !== 'picture') {
            $custtypes["custom_field_{$ct['fnum']}"] = $ct;
            $custtypes["custom_field_{$ct['fnum']}"]['name'] = unserialize($ct['default_caption']);
        }
    }
    $oItem = AMI::getResourceModel('eshop_item/table')->find($id);
    $data = $oItem->getData();
    foreach ($data as $key => $value) {
        if (!empty($custtypes[$key]) && isset($value) && mb_strlen($value) > 0) {
            $ret .= '<prop name="' . $custtypes[$key]['name'][$data['lang']] . '">' . $value . "</prop>\n";
        }
    }
    return $ret;
}



Не сильно жестко я ограничил данные справочников? А может наоборот слабо?



0


Создать новую тему Ответить