Автор Тема: Ditto, пагинация и прочее.  (Прочитано 711 раз)

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

Оффлайн юрьич

  • Создатель
  • ***
  • Сообщений: 152
    • Просмотр профиля
  • Версия modx: evo 1.1.0
Ditto, пагинация и прочее.
« : 26 Декабрь 2016, 11:35:13 »
Всем привет. Подскажите как лучше реализовать следующее.
Есть страница со списком превью картинок (выводятся с помощью Ditto). При клике по картинке направляет на страницу где будет большое изображение данной картинки. И нужна пагинация вперёд-назад. Т.е. следующая картинка или предыдущая (из списка превьюшек).
Пытался с помощью дитто решить, но во первых что то пагинация не выводится([+previous+][+pages+][+next+] ), а во вторых всегда одна и та же картинка открывается изначально, что понятно(согласно сортировки).
Можно как то стандартными средствами сделать это дело

Оффлайн jean179

  • Главный модератор
  • Продвинутый
  • *****
  • Сообщений: 484
  • jean179.ru
    • Просмотр профиля
    • Отдых в Анапе в частном секторе
  • Версия modx: 1.12
Re: Ditto, пагинация и прочее.
« Ответ #1 : 26 Декабрь 2016, 20:41:29 »
Если это просто галерея с картинками без всяких извращений типа комментариев и рейтингом, то подойдет любая устраивающая галлерия на js. Их море. По одной - фансибокс. У больший картинки и внизу превьюшки - другие. Реализовать такое можно либо EvoGallery, либо другие решения через TV-поля.

А вот если хочется большего, то тут нужно 1 ресурс == 1 картинка. То есть есть ресурс-папка, где превьюшка. Их выводить дитто - не одна же галлерея будет. А вот при клике, попадает на ресурс внутрь папки. И выводится обычная картинка, к ней цепляются все плюшки. А вперед-назад либо своими сниппетами, либо готовыми решениями типа revnextPage из Магазина.

Ну и если еще усложнить, то пишете свой модуль и свои таблицы и вперед.

Оффлайн юрьич

  • Создатель
  • ***
  • Сообщений: 152
    • Просмотр профиля
  • Версия modx: evo 1.1.0
Re: Ditto, пагинация и прочее.
« Ответ #2 : 27 Декабрь 2016, 00:54:37 »
Понятно, более-менее  :) . Галерею не хочется использовать. Под большой фоткой будет три маленикие её же, просто при клике стиль менятся будет, как здесь https://www.erinhanson.com/p/Palms_and_Clouds
с этим решу, а вот с пагинацией было не придумать. Ладно пойду гляну что в магазине, но думаю раз нет из коробки тогда и сам напишу.Спасибо.

Оффлайн jean179

  • Главный модератор
  • Продвинутый
  • *****
  • Сообщений: 484
  • jean179.ru
    • Просмотр профиля
    • Отдых в Анапе в частном секторе
  • Версия modx: 1.12
Re: Ditto, пагинация и прочее.
« Ответ #3 : 27 Декабрь 2016, 07:14:53 »
Так это и есть галерея на js. Обратите внимание - адрес не меняется при кликах. Вот об этом я и говорил в первом варианте. А картинки в неё вывести как раз проще с галереи на ТВ-полях.

Оффлайн юрьич

  • Создатель
  • ***
  • Сообщений: 152
    • Просмотр профиля
  • Версия modx: evo 1.1.0
Re: Ditto, пагинация и прочее.
« Ответ #4 : 03 Январь 2017, 13:18:33 »
ОК, с этим разобрался. Теперь такой вопрос. На странице вывода списка(Дитто), чанк шаблона имеет такой вид
<a hreff="[(site_url)][~[+id+]~]"><div><img ... /></div><div>number_1</div></a>
В браузере ссылка имеет такой вид
http://modx/portfolio/portfolio-page/number_1.html
Так же на странице присутствует аякс сортировка. Простой аякс запрос, отправляет в качестве параметра id ссылки, например
<a role="menuitem" tabindex="-1" class="maroonHover" href="javascript:void(0)" id="sortByAZ">Name A-Z</a>
Снипет обрабатывает
   case 'sortByAZ':
    $params['orderBy']='pagetitle ASC';
    $params['id']='01';
$res = $modx->runSnippet('Ditto',$params);
    echo $res;
    die();
    break;
и возвращает html. Но при этом ссылки картинок превращаются в такие
http://modx/[~17~]
Почему и как поправить?

Оффлайн una

  • Разработчик
  • *****
  • Сообщений: 582
    • Просмотр профиля
  • Версия modx: evo, revo
Re: Ditto, пагинация и прочее.
« Ответ #5 : 06 Январь 2017, 00:30:25 »
ОК, с этим разобрался. Теперь такой вопрос. На странице вывода списка(Дитто), чанк шаблона имеет такой вид
<a hreff="[(site_url)][~[+id+]~]"><div><img ... /></div><div>number_1</div></a>

<a href  - с одной "f"  :12: