Работа с объектами ORM
Вывести перевод для текущего языка элемента определённого поля можно так (если перевода нет, то вернет значения дефолтного языка)
$oInformationsystem_Item = Core_Entity::factory('Informationsystem_Item', 123);
echo $oInformationsystem_Item->multiLng('name'); // About
// для доп. свойства
$oProperty = Core_Entity::factory('Property', 123);
$aPropertyValues = $oProperty->getValues($shop_item_id);
echo $aPropertyValues[0]->multiLng('value')Получить все переводы всех полей для элемента в виде объектов
/*
* Получение маасива объектов, $bCache = TRUE
* @param string $entity model name
* @param int $entity_id
* @param boolean $type FALSE|TRUE
* @param boolean $bCache cache mode
* @return array
*/
Core_Entity::factory('MultiLanguage_Field')->getAFields('shop_item', 123);
// Результат
//Array (
// [0] => MultiLanguage_Field_Model Object
// [1] => MultiLanguage_Field_Model Object
//)
/*
* Получение массива объектов с ключами полей
*/
Core_Entity::factory('MultiLanguage_Field')->getAFields('shop_item', 123, TRUE);
// Результат
//Array (
// [name] => MultiLanguage_Field_Model Object
// [description] => MultiLanguage_Field_Model Object
//)
/*
* Получение объекта по полю
* @param string $entity model name
* @param int $entity_id
* @param string $field field name
* @param boolean $bCache cache mode
* @return self|NULL
*/
Core_Entity::factory('MultiLanguage_Field')->getByField('shop_item', 123, 'name');Сохранение перевода для элемента
Сохранение происходит через параметр datalng_{lng}_{field}, где {lng} это код языка, а {field} имя поля элемента
Вывести домен текущего языка, для типа [site]
Вывести путь текущего языка, для типа [url]
Последнее обновление