Доброго дня
Возник вопрос, почему метод getValue() экземпляра umiHierarchyElement может возвращать пустоту, если тип свойства "Изображение" или "Файл". Гуглил много примеров, везде возвращается путь к файлу, а у меня пусто. Пробовал ставить демо версию сайта - так там все работает. На моем рабочем проекте - нет =(((
Свойство не пустое, там прилеплена картинка. Может быть, что это бага, которую исправили в более новых версиях? Моя версия 2.9.7, ревизия 49344
Пример кода (имя выводится, путь к фото нет):
$oElement = umiHierarchy::getInstance()->getElement( 6276, true, true );
echo $oElement->getName();
echo $oElement->getValue('photo');
Если у страницы с id 6276 есть поле "photo", то ваш код
$oElement = umiHierarchy::getInstance()->getElement( 6276, true, true );
echo $oElement->getName();
echo $oElement->getValue('photo');
должен работать.
Может есть какие-то тонкости с правами на данную страницу? или с правами у того пользователя, который запрашивает данный макрос.
Попробуйте сделать подобные запросы для других страниц и из под админа.
В общем, плюнул на UMI API, сделал костылем:
$page_id = 158; //моя страничка
$hierarchy = umiHierarchy::getInstance();
$page = $hierarchy->getElement($page_id);
$object = $page->getObject();
$sql = "SELECT `text_val` FROM `cms3_object_content` WHERE `obj_id`=$object AND `field_id`=495"; // 495 - нужное мне поле с файлом
$res = l_mysql_query($sql);
$r = mysql_fetch_row($res);
print_r($r);