[pdoPage] MIGX getImageList изменяет image url
Всем добра.
Ситуация такая, на странице вывожу элементы «мнения» из MIGX через сниппет getImageList. Все хорошо выводит. Довольный. Понятное дело если ввести таких элементов 50 штук, то как-то не красиво будет, нужна пагинация! Взял pdoPage и прикрутил к нему вызов getImageList, как это получилось:
Теперь открываю я TV, тот который MIGX, opinion-partner и меняю в закладке «Источники файлов» с Filesystem на «Изображения», ну и понятное дело захожу в ресурс к которому привязан TV и пересохраняю изображения. Обновляю страничку на сайте, все отлично все показывает. НО!
Клацаю я на «сюдом» и… как вы думаете?
— правильно! без перезагрузки страницы подгружаются следующие 2 мнения, но с одним нюансом!
А теперь, собственно, НЮАНС:
— ссылки на изображенияпо*ерелись поломались:
были ссылки такого вида: assets/img/img-1.jpg
стали ссылки такого вида: img-1.jpg
Что самое интересное, если обновить страницу (F5) то изображения загружаются с правильными путями.
Куда копать?
P.S. Если исключить &ajaxMode=`default`то с перезагрузкой все отлично работает. но нужен то АЯКС! :)
Ситуация такая, на странице вывожу элементы «мнения» из MIGX через сниппет getImageList. Все хорошо выводит. Довольный. Понятное дело если ввести таких элементов 50 штук, то как-то не красиво будет, нужна пагинация! Взял pdoPage и прикрутил к нему вызов getImageList, как это получилось:
<div id="pdopage">
<div class="row">
<div class="col-md-6">
<h2>[[getResourceField? &id=`57`]]</h2>
</div>
<div class="col-md-6 text-right more-review-link">
[[!+page.nav]]
</div>
</div>
<div class="rows">
[[!pdoPage?
&element=`getImageList`
&docid=`57`
&tvname=`opinion-partner`
&limit=`2`
&tpl=`tpl_opinion_item`
&where=`{"active:=":"1"}`
&totalVar=`opinionTotal`
&ajaxMode=`default`
&tplPageWrapper=`@INLINE <div class="pagination"><ul class="pagination">[[+prev]]<li class="text"><span class="more-review-link-dashed">Ещё мнения</span></li>[[+next]]</ul></div>`
&tplPagePrev=`@INLINE <li class="control"><a href="[[+href]]">← </a></li>`
&tplPageNext=`@INLINE <li class="control"><a href="[[+href]]"> →</a><li>`
&tplPagePrevEmpty=`@INLINE <li class="disabled"><span>← </span></li>`
&tplPageNextEmpty=`@INLINE <li class="disabled"><span> →</span></li>`
]]
</div>
</div>
Супер. Захожу глаз радуется, показывает 2 элемента и стрелочки «тудом» и «сюдом». Теперь открываю я TV, тот который MIGX, opinion-partner и меняю в закладке «Источники файлов» с Filesystem на «Изображения», ну и понятное дело захожу в ресурс к которому привязан TV и пересохраняю изображения. Обновляю страничку на сайте, все отлично все показывает. НО!
Клацаю я на «сюдом» и… как вы думаете?
— правильно! без перезагрузки страницы подгружаются следующие 2 мнения, но с одним нюансом!
А теперь, собственно, НЮАНС:
— ссылки на изображения
были ссылки такого вида: assets/img/img-1.jpg
стали ссылки такого вида: img-1.jpg
Что самое интересное, если обновить страницу (F5) то изображения загружаются с правильными путями.
Куда копать?
P.S. Если исключить &ajaxMode=`default`то с перезагрузкой все отлично работает. но нужен то АЯКС! :)
Комментарии: 5
не уверен, но попробуйте параметр
&prepareTVs=`opinion-partner`
или как там называется TV с картинкой
Увы, но нет. Это скорее проблема аякс обработки. По идеи мне нужно перехватить запрос отправляемый при нажатии «тудом» или «сюдом» и там уже что-то станет ясно.
Выход пока один:
Ставим в вызове pdoPage
Ставим в вызове pdoPage
&processTVs=`0`
и в чанке где ссылка на изображение ручками пишем:<img src="assets/img/[[+image]]" alt="">
Столкнулся с аналогичной проблемой и нашел вот такое решение:
1) Создаем в MIGX во вкладке Columns элемент «Ссылка (field:link)»
2) В рендерерах выбираем this.renderChunk, а в renderChunk template пишем:
3) В чанке вывода картинок вместо [[+image]] ставим [[+link]], и если нам надо миниатюрки, то [[pthumb? &input=`[[+link]]` &options=`&hp=200&wl=200`]]
В итоге и первая выгрузка и дозагрузки — все нормально загружаются, находятся и кропаются!
Правда есть такие грабли:
1) Скрипт лайтбокса не видит свежеподгруженные фотки и они просто открываются как тупо фотка
2) Стирочка с последними 4 фотками дублируется(((
Плюнул и сделал с обычной ручной постраничкой((
1) Создаем в MIGX во вкладке Columns элемент «Ссылка (field:link)»
2) В рендерерах выбираем this.renderChunk, а в renderChunk template пишем:
/resourceimages/[[+_request.id]][[+_request.resource_id]]/[[+image]]
У меня папка для картинок ресурса называется resourceimages, в принципе если погуглить «MIGX resourceimages» то это распространенный приемчик3) В чанке вывода картинок вместо [[+image]] ставим [[+link]], и если нам надо миниатюрки, то [[pthumb? &input=`[[+link]]` &options=`&hp=200&wl=200`]]
В итоге и первая выгрузка и дозагрузки — все нормально загружаются, находятся и кропаются!
Правда есть такие грабли:
1) Скрипт лайтбокса не видит свежеподгруженные фотки и они просто открываются как тупо фотка
2) Стирочка с последними 4 фотками дублируется(((
Плюнул и сделал с обычной ручной постраничкой((
Ставим &processTVs=`1` и проблема решена.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.