Неправильный путь к изображению
Добрый день. Не могу получить правильный путь к картинке.
Есть страница с фильтрами mFilter2
В чанке
joxi.ru/BA0Ngd7UMx6Mzm
Изображение берется из папки текущего ресурса, а не из ресурса указанного в docid
Есть страница с фильтрами mFilter2
[[!mFilter2?
&class=`msProduct`
&filters=`
ms|article,
ms|vendor:vendors,
msoption|size`
&aliases=`msoption|size==style,ms|vendor==designer,ms|article==type,`
&parents=`[[*id]]`
&tpl=`store.tpl.mSearch2.row.ALL`
&tplOuter=`store.tpl.mFilter2.outer`
&element=`msProducts`
&limit=`20`
&sortby=`publishedon`
&sortdir=`DESC`
&includeTVs=`picture,action_header`
&processTVs=`picture`
]]
store.tpl.mSearch2.row.ALL
вызывается сниппет getImageList:[[getImageList?
&tvname=`resourcealbum`
&tpl=``
&limit=`1`
&processTVs=`1`
&docid=`[[+id]]`
]]
На странице получаю такие данные:joxi.ru/BA0Ngd7UMx6Mzm
Изображение берется из папки текущего ресурса, а не из ресурса указанного в docid
Комментарии: 14
Ну а если &tpl через чанк прописать:
И в нем (image-tpl)
[[getImageList?
&tvname=`resourcealbum`
&tpl=`image-tpl`
&limit=`1`
&docid=`[[+id]]`
]]
И в нем (image-tpl)
[[+image]]
Пробовал. Так и было. Тоже самое. Чанк пустым оставил, что бы показать возможные значения
Переименуйте поле в MIGX, а то image — это поле товара и происходит пересечение.
Спасибо, а можете подсказать тогда, как лучше сделать, что бы заполненные данные не потерялись при переименовании?
В конфигурации мигс переименовывал, и в админке в тв пустота отображалась
В конфигурации мигс переименовывал, и в админке в тв пустота отображалась
Можно через Console или сниппетом запустить (сперва проверьте, если ОК, раскомментируйте сохранение TV):
Естественно, сперва бэкап базы сделайте )).
<?php
$template = 5; // ID шаблона товара
$tvid = 7; // ID MIGX-TV-шки
foreach ($modx->getIterator('modResource', array('template' => $template)) as $resource) {
$tv = $resource->getTVValue($tvid);
$tv = str_replace('image', 'newname', $tv); // newname - новое имя поля
echo $resource->get('id').' - '.$tv.'<hr/>'; // для проверки
//$resource->setTVValue($tvid, $tv); // если ОК, раскомментируйте
}
Естественно, сперва бэкап базы сделайте )).
Да я зашел в бд и выполнил реплейс. Но что-то не сильно помогло.
joxi.ru/L214ML8tRkKyEm
В чанке заменил [[+image]] на [[+imageProject]]
joxi.ru/L214ML8tRkKyEm
В чанке заменил [[+image]] на [[+imageProject]]
А значения в самой базе старые?
Нет, обновились.
[{"MIGX_id":"1","imageProject":"gost-v11-1.jpg","deleted":"0","published":"1","published_ro":"{\"MIGX_id\":2,\"name\":\"published\",\"use_as_fallback\":\"\",\"value\":1,\"clickaction\":\"switchOption\",\"handler\":\"\",\"image\":\"assets\\/components\\/migx\\/style\\/images\\/cb_ticked.png\",\"idx\":1,\"_renderer\":\"this.renderSwitchStatusOptions\",\"selectorconfig\":\"\"}","title":"Гостиная"},{"MIGX_id":"2","imageProject":"gost-vid22-1.jpg","deleted":"0","published":"1","published_ro":"{\"MIGX_id\":2,\"name\":\"published\",\"use_as_fallback\":\"\",\"value\":1,\"clickaction\":\"switchOption\",\"handler\":\"\",\"image\":\"assets\\/components\\/migx\\/style\\/images\\/cb_ticked.png\",\"idx\":1,\"_renderer\":\"this.renderSwitchStatusOptions\",\"selectorconfig\":\"\"}","title":"Гостиная"},{"MIGX_id":"3","imageProject":"kids-2505.jpg","deleted":"0","published":"1","published_ro":"{\"MIGX_id\":2,\"name\":\"published\",\"use_as_fallback\":\"\",\"value\":1,\"clickaction\":\"switchOption\",\"handler\":\"\",\"image\":\"assets\\/components\\/migx\\/style\\/images\\/cb_ticked.png\",\"idx\":1,\"_renderer\":\"this.renderSwitchStatusOptions\",\"selectorconfig\":\"\"}","title":"Детская"},{"MIGX_id":"4","title":"Кухня","description":"","showBtn":"","imageProject":"kk11-1.jpg"},{"MIGX_id":"5","title":"Кухня","description":"","showBtn":"","imageProject":"kk22-2.jpg"},{"MIGX_id":"6","imageProject":"spalnya1.jpg","deleted":"0","published":"1","published_ro":"{\"MIGX_id\":2,\"name\":\"published\",\"use_as_fallback\":\"\",\"value\":1,\"clickaction\":\"switchOption\",\"handler\":\"\",\"image\":\"assets\\/components\\/migx\\/style\\/images\\/cb_ticked.png\",\"idx\":1,\"_renderer\":\"this.renderSwitchStatusOptions\",\"selectorconfig\":\"\"}","title":"Спальня"},{"MIGX_id":"7","imageProject":"spalnya2.jpg","deleted":"0","published":"1","published_ro":"{\"MIGX_id\":2,\"name\":\"published\",\"use_as_fallback\":\"\",\"value\":1,\"clickaction\":\"switchOption\",\"handler\":\"\",\"image\":\"assets\\/components\\/migx\\/style\\/images\\/cb_ticked.png\",\"idx\":1,\"_renderer\":\"this.renderSwitchStatusOptions\",\"selectorconfig\":\"\"}","title":"Спальня"},{"MIGX_id":"8","imageProject":"sunovren1.jpg","deleted":"0","published":"1","published_ro":"{\"MIGX_id\":2,\"name\":\"published\",\"use_as_fallback\":\"\",\"value\":1,\"clickaction\":\"switchOption\",\"handler\":\"\",\"image\":\"assets\\/components\\/migx\\/style\\/images\\/cb_ticked.png\",\"idx\":1,\"_renderer\":\"this.renderSwitchStatusOptions\",\"selectorconfig\":\"\"}","title":"Санузел"},{"MIGX_id":"9","imageProject":"sunovren2.jpg","deleted":"0","published":"1","published_ro":"{\"MIGX_id\":2,\"name\":\"published\",\"use_as_fallback\":\"\",\"value\":1,\"clickaction\":\"switchOption\",\"handler\":\"\",\"image\":\"assets\\/components\\/migx\\/style\\/images\\/cb_ticked.png\",\"idx\":1,\"_renderer\":\"this.renderSwitchStatusOptions\",\"selectorconfig\":\"\"}","title":"Санузел"}]
Вот Titlle получаю без проблем.
То есть сам массив значений заполнен неверно?
Вы об этом? joxi.ru/L214ML8tRkKyEm
Да, вместо assets/resourceimages/4/1-f.jpg нужно получить assets/resourceimages/279/1-f.jpg
Да, вместо assets/resourceimages/4/1-f.jpg нужно получить assets/resourceimages/279/1-f.jpg
assets/resourceimages/4/1-f.jpg — картинка родителя
assets/resourceimages/279/1-f.jpg — картинка вызываемого ресурса.
А в мигкс поле все заполнено верно, но почему то при вызове не срабатывает [[+id]], а как будто бы [[*id]]?
assets/resourceimages/279/1-f.jpg — картинка вызываемого ресурса.
А в мигкс поле все заполнено верно, но почему то при вызове не срабатывает [[+id]], а как будто бы [[*id]]?
Для начала, надо попробовать вызвать getImageList некешируемым, я думаю.
Пробовал некешируемым сделать. Как то странно сработало, вместо id родителя подставился id первого вызываемого ресурса, но после обновления страницы все вернулось обратно.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.