Поля создаются, присоединяются к группам, группы создаются для типов данных, одно и тоже поле может использоваться в разных типах данных .
Для того что бы получит поле по строковому идентификатору (то что ты называешь "ИД brend") не предусмотрено методов (поправьте меня если я не прав) для этого надо использовать вспомогательные конструкции типа:
<?php
/**
* Get numeric identifier field from its string identifier
*
* @param umiFieldsGroup $group
* @param $fieldName
* @return int|null
*/
function getFieldIdByName(umiFieldsGroup $group, $fieldName) {
$fields = $group->getFields();
foreach($fields as $field) { /** @var $field umiField */
if($field->getName() == $fieldName) {
return $field->getId();
}
}
}
Для решения твоей задачи надо пройтись рекурсивно по типам вниз от Объект каталога, произвести с каждым типом следующие:
- получить группу полей $fieldsGroup = getFieldsGroupByName($field_group_name[, $allow_disabled = false]) (http://api.docs.umi-cms.ru/spravochnik_po_klassam_yadra_umicms/model_dannyh/umiobjecttype/getfieldsgroupbyname/)
- вывести поле из группы полей $fieldsGroup->detachField($fieldId) (http://api.docs.umi-cms.ru/spravochnik_po_klassam_yadra_umicms/model_dannyh/umifieldsgroup/detachfield/)
Еще как вариант решения твоей задачи используя коллекцию umiFieldsCollection (http://api.docs.umi-cms.ru/spravochnik_po_klassam_yadra_umicms/model_dannyh/umifieldscollection/), можно физически удалить поле, в этом случае оно удалится во всех типах данных.
<?php
$fieldId = 444;
umiFieldsCollection::getInstance()->delField($fieldId);