Курс 2016 года “Разработка на UMI.CMS от 0 до готового сайта”
Источники значений & в интернет-магазине "

Автор diii3Раздел Шаблоны XSLT

Ответов: 2
Просмотров: 2867
Последний ответ 10 Ноября 2012, 22:04:18
от diii3
Проблема с модулем "Обратная связь-->Шабло&

Автор don_basilioРаздел Настройка системы и модулей

Ответов: 2
Просмотров: 3022
Последний ответ 14 Ноября 2011, 20:13:47
от don_basilio
Можно ли убрать этап выбора типа платежа и квитанцию при оформлении товара?

Автор SeweryssРаздел Настройка системы и модулей

Ответов: 1
Просмотров: 2361
Последний ответ 25 Декабря 2013, 19:41:40
от Seweryss
Вывод данных страниц разного типа данны в порядке создания

Автор SumrakrndРаздел Шаблоны XSLT

Ответов: 5
Просмотров: 2079
Последний ответ 09 Декабря 2016, 12:55:59
от Sumrakrnd
Фильтр по полю типа выпадающий список с множественным выбором

Автор sergeronРаздел Шаблоны XSLT

Ответов: 5
Просмотров: 6595
Последний ответ 20 Мая 2013, 09:20:22
от admin

0 Пользователей и 1 Гость просматривают эту тему.

Доброго дня
Возник вопрос, почему метод getValue() экземпляра umiHierarchyElement может возвращать пустоту, если тип свойства "Изображение" или "Файл". Гуглил много примеров, везде возвращается путь к файлу, а у меня пусто. Пробовал ставить демо версию сайта - так там все работает. На моем рабочем проекте - нет =(((
Свойство не пустое, там прилеплена картинка. Может быть, что это бага, которую исправили в более новых версиях? Моя версия 2.9.7, ревизия 49344

Пример кода (имя выводится, путь к фото нет):
$oElement = umiHierarchy::getInstance()->getElement( 6276, true, true );
echo $oElement->getName();
echo $oElement->getValue('photo');

*

e.ioffe

  • ****
  • 369
  • +81/-2
  • Профессиональная разработка на UMI.CMS.
    • Просмотр профиля
    • Fullspace - Лучший хостинг для UMI.CMS
Попробуйте сделать на echo $oElement->getValue('photo');, а var_dump($oElement->getValue('photo'));. Должен возвращаться объект типа umiFile / umiImageFile.
Ускорение сайта на UMI.CMS - http://speed.umispec.ru/


*

e.ioffe

  • ****
  • 369
  • +81/-2
  • Профессиональная разработка на UMI.CMS.
    • Просмотр профиля
    • Fullspace - Лучший хостинг для UMI.CMS
Значит в базе нет данных о фотографии для этого объекта.
Ускорение сайта на UMI.CMS - http://speed.umispec.ru/

Это что значит? Просто если открыть страницу эту (объект каталога) с расширением .xml - там есть это поле и оно заполнено. Хранится где-то в другом месте информация?

Больше мыслей нет? Проблема актуальна для меня

*

admin

  • *****
  • 2444
  • +172/-1
    • Просмотр профиля
Если у страницы с id 6276 есть поле "photo", то ваш код
$oElement = umiHierarchy::getInstance()->getElement( 6276, true, true );
echo $oElement->getName();
echo $oElement->getValue('photo');

должен работать.

Может есть какие-то тонкости с правами на данную страницу? или с правами у того пользователя, который запрашивает данный макрос.

Попробуйте сделать подобные запросы для других страниц и из под админа.

А разве второй параметр не позволяет игнорить права? Инфу брал тут - http://api.docs.umi-cms.ru/spravochnik_po_klassam_yadra_umicms/model_ierarhii/umihierarchy/getelement/

Пробовал зайди под админом - результат тот же, NULL
Пробовал вывести из другой страницы поле с файлом (из фотогалерии) - результат тот же, NULL
Прав никаких особых не настраивал.

При всем при этом, поля, не связанные с файлами, выводит корректно. То есть проблема именно с файлами (файлы, изображения)

Может быть, есть какие-то настройки CMS, связанные именно с хранением данных в базе о файлах?

Проблема решена, но все очень странно
Добился работы следующим образом - включил тип кэширования "Файловая система", до этого не было включено никакое. При этом, сразу значение свойства отображаться не начал. После открытия страницы на редактирование в админке - стало работать. Но, если сбросить кэш - опять перестает отображать значение свойства. Открываем страницу в админке - начинает работать. Если открывать страницу на просмотр просто на сайте - не помогает, все равное не работает.
Механизм мне не очень понятен. Получается, файл можно дернуть через API только, если он закешировался. При этом кэшируется он при редактировании страницы. Получается, мне нужно прокликать в админке все страницы, что бы все заработало. И делать это каждый раз, когда мне будет необходимо сбросить кэш.

Хотелось бы узнать у гуру, что я делаю не так =))) По мне так это не очень правильная работа

Цитировать
При этом, сразу значение свойства отображаться не начал. После открытия страницы на редактирование в админке - стало работать. Но, если сбросить кэш - опять перестает отображать значение свойства. Открываем страницу в админке - начинает работать. Если открывать страницу на просмотр просто на сайте - не помогает, все равное не работает.
Механизм мне не очень понятен. Получается, файл можно дернуть через API только, если он закешировался. При этом кэшируется он при редактировании страницы. Получается, мне нужно прокликать в админке все страницы, что бы все заработало. И делать это каждый раз, когда мне будет необходимо сбросить кэш.

Про это наврал. Похоже, стало все отображать

*

admin

  • *****
  • 2444
  • +172/-1
    • Просмотр профиля
в каком браузере тестировали?

В хроме, Версия 43.0.2357.134 (64-bit)

*

admin

  • *****
  • 2444
  • +172/-1
    • Просмотр профиля
Все подозрения на кэш, но какой именно сказать сложно.

P.S. Но в любом случае, если в поле картинка есть инфа, то при просмотре данной страницы в xml формате эта инфа будет выводиться и как следствие к ней можно обратиться из кастомного макроса.

Проблема не решена, с кэшем так и не разобрался. То отображает, то не отображает
В xml формате инфа есть, а как мне к ней обратится?

Нет ли решения у благородных донов моей проблемы?