Нюанс MIGX и inputTV
Опишу стандартную проблему с изображением, но это распространяется на любую TV используемую в MIGX:
в шаблоне template есть TV staff-migx, с данными:
вывод staff-migx осуществляется так:
p.s.: читал о таких «нюансах MIGX» на форуме, но хотелось бы точно получить ответ как кто решает проблему или это не проблема и я что то не так делаю?
в шаблоне template есть TV staff-migx, с данными:
[{"caption":"staff", "fields": [
{"field": "img", "caption": "Изображение", "inputTV": "picture"},
{"field": "name", "caption": "Имя"}
]
}]
Всё работает как надо, но если к шаблону привязать само TV-поле picture и добавить изображение, то при выводе на фронте staff-migx поле img — будет выводить данные из привязанного к шаблону TV-поля.вывод staff-migx осуществляется так:
[[getImageList?
&tvname=`staff-migx`
&tpl=`@CODE: [[+img]]`
]]
Что я делаю не так, проверил на нескольих сайтах.p.s.: читал о таких «нюансах MIGX» на форуме, но хотелось бы точно получить ответ как кто решает проблему или это не проблема и я что то не так делаю?
Комментарии: 8
Почему бы вместо inputTV:picture не использовать inputTVtype: image?
Тогда не придется создавать отдельное tv поле.
Тогда не придется создавать отдельное tv поле.
Ну изображение я взял, как самый популярный пример. А что делать если вместо изображения будет TV поле типа MIGX (ну тоесть вложенность будет). По аналогии выше, проблема повторится.
Я правильно понимаю: вы указываете в конфигурации migx для TV staff-migx, что данные для поля img нужно брать из другого TV с именем picture и это же TV привязываете к тому же шаблону к которому привязано staff-migx? Если да, то зачем вы вообще так делаете? Я достаточно часто использую migx и такого рода проблем никогда не было, потому что я не использую в конфигурации inputTV, не вижу сценариев в которых это было бы нужно. Лучше делайте как написал Алексей и проблем не будет.
Да, правильно поняли. Странно то, что в админке функционирует нормально данная ссылочность (то же изображение), проблема только когда осуществляем вывод с помощью getImageList. Это и настараживает.
Попробуйте перейти на fenom и выводить в цикле
{set $items = $_modx->resource.staff-migx | fromJSON}
{foreach $items as $item}
{$item['img']}
{/foreach}
Но повторюсь, не понимаю для чего вам нужно использовать такой вариант конфигурации. А ещё мне кажется, что всё работает как надо, потому что есть в migx поле img заполняется из picture, то логично что img==picture
Спасибо, а вот fenom правильно выводит всё. Правда, у меня только так получилось вывести:
{set $items = json_decode( [[*id]] | resource: 'staff-migx', true)}
{foreach $items as $item}
{$item | print_r}
{/foreach}
Делаем вывод, проблема в getImageList?
Прошу прощения за мешанину синтаксиса Fenom и MODX, попрвалю, заодно вашим способом fromJSON:
{set $items = $_modx->resource['staff-migx'] | fromJSON}
{foreach $items as $item}
{$item | print_r}
{/foreach}
Я так понял ему тире не понравились в названии TV поля staff-migx
Да, я обычно не использую в названиях -, только _
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.