Мультиязычность - перевод выпадающих списков — различия между версиями
VITL' (обсуждение | вклад) (Новая страница: «Если необходимо для другой языковой версии сайта перевести названия элементов выпадающе…») |
(нет различий)
|
Версия 05:08, 29 октября 2010
Если необходимо для другой языковой версии сайта перевести названия элементов выпадающего списка, то для выполнения данной задачи можно воспользоваться кастомным макросом, который пропишем в файле classes/modules/custom.php
public function optionslang($objcet_id, $title){
$cor = cmsController::getInstance();
$cur_lang_prefix = $cor->getLang()->getPrefix();
if($cur_lang_prefix == 'ru') return $title;
$object = umiObjectCollection::getInstacne()->getObject($object_id);
if($object instanceof umiObject){
if($value = $object->getValue($cur_lang_prefix)){
return $value;
}esle{
return $title;
}
}
}
Перед его использованием необходимо открыть на редактирование ваш справочник (модуль Шаблоны данных - Справочники), добавить в него поля с идентификатором = префиксу языковой версии сайта. Далее необходимо открыть содержимое справочника и для каждого элемента прописать переводы, в только что созданных полях.
При использовании блока search_block_line_item_relation, когда формируются элементы выпадающего списка, в данный блок передаются параметры object_id и object_name, их и передадим в наш кастомный макрос. Вызов следующий: %custom optionslang(%object_id%, %object_name%)%