вывод слайдера главной стр с pdoresources

Доброго времени суток, гуру, помогите!
Идея, есть 5-6 рубрик, в них соответсвенно новости. на главной странице есть колонка свежие новости, куда выводятся все последние из этих категории, лимитом в 5 штук. Никаких проблем нет и я решил и слайдер запилить таким же способов, в слайдере 4 видимых вертикально ориентированных картинки, следующие уже пролистываются, но это и не важно. Смысл всей затее в том, чтобы редакторам было легко и удобно добавлять новости в этот слайдер, то есть, когда они пишут новости в этих 5-6 рубриках, в новости, которую нужно в слайдер добавить, надо загрузить фото для слайдера в отдельно доп поле
imagesl
, если не нужно оставлять пустым. Чтобы это сделать, шаблон чанка
slider_tpl
я обернул в
[[+tv.imagesl:notempty=` `]]
чтобы ресурс не показывался, если поле пустое.
В общем сам вызов:
[[pdoResources?
	&tpl=`slider_tpl`
	&offset=`0`
	&limit=`15`
	&parents=`28,44,45,53,47,51,61,62,14`
	&includeTVs=`imagesl`
]]
ну и сам шаблон:

[[+tv.imagesl:notempty=` <article class="entry entry-overlay entry-block">
                        <div class="entry-media">
                            <figure>
                                <a href="[[++site_url]][[~[[+id]]]]" title="[[+pagetitle]]">
                                    <img src="[[+tv.imagesl:phpthumbof=`w=560&h=620`]]" alt="[[+pagetitle]]">
                                </a>
                            </figure>
                        </div><!-- End .entry-media -->

                        <div class="entry-overlay-meta">
                            <h2 class="entry-title"><a href="[[++site_url]][[~[[+id]]]]">[[+pagetitle]]</a></h2>
                            <span class="entry-overlay-date"><i class="fa fa-calendar"></i>[[+publishedon:date=`%d.%m`]]</span>
                            <span class="entry-separator">/</span>
                            
                            <span class="entry-separator">/</span>
                            <a href="#" class="entry-author"><i class="fa fa-user"></i>[[+createdby:userinfo=`fullname`]]</a>
                        </div><!-- End .entry-overlay-meta -->
                    </article>`]]
Проблема: Все в слайдер норм добавляется, пока вставляешь новостям фото в доп поля для слайдера. Но, как только начинаешь добавлять в любой рубрике новость без этой фотки, в слайдре добавляется пустое место, как будто вместо последней фотки. То есть визуально становится -1 последний слайд, потом добавляешь еще новость — уже минус 2. Смотришь код, действительно добавляется пустота, остается только 2 последних слайдера, как будто он туда пытается добавлять ресурс, но тк доп поле пустое, все скрывается и добавляет пустоту. Если удалить
[[+tv.imagesl:notempty=``]]
Тогда да, в слайдер выводятся все ресурсы, но нормально выглядят только с фоткой, другие соответственно без нее, только текс и ссылка на страницу. Как это может быть? как правильно говорить pdo какие ресурсы нужно выводить по доп полям?
ps
отдельно делать категорию для слайдера и добавлять туда новости — не вариант. Глупо и неудобно. Нужно в любой момент в любой новости добавить в доп поле фото и увидеть ее на главной странице. Спасибо! Сорри за много текста и возможно странное объяснение, мозг кипит, не понимаю, что не так… вроде раньше я так делал на сайтах и все работало.
Федор
18 ноября 2015, 15:39
modx.pro
2 477
0

Комментарии: 6

Федор
18 ноября 2015, 18:52
0
блин, это что, из — за
&limit=``
??? как только сделал больше все встало на места.но мне вообще надо, чтобы в слайдере было 5 ресурсов. я же не могу написать &limit=`9999999` через 2 дня работы в слайдере будет уже новостей 50… В общем, как правильно сделать слайдер? такой вопрос будет проще
    Максим Кузнецов
    18 ноября 2015, 19:16
    +3
    Дело в том, что оборачивая результат в :notempty вы не отменяете то, что он сначала добавляется в выборку, а уже после визуально прячется.

    Вам нужно убрать обертку notempty и добавить условие в вызов сниппета
    &where=`{"imagesl:!=":"","AND:imagesl:!=":null}`
    — таким образом вы будете отсеивать ненужные документы в момент выборки, а не после.
      Федор
      18 ноября 2015, 19:27
      0
      Спасибо!!! :-) с JSON у меня плохо, не сообразил даже, может пользуясь случаем скините ссылку на примеры и объяснения? Еще раз огромное спасибо!
        Максим Кузнецов
        18 ноября 2015, 19:30
        0
        Ну, примеров как формировать json-запрос, думаю, в интернетах хватает. Могу только еще порекомендовать поиск на этом сайте и утилиту для проверки json.

        А по поводу параметров сниппета — вам в документацию.
          Федор
          18 ноября 2015, 19:33
          0
          Спасибо! Поиск на этом сайте вы имели ввиду modx.pro?
            Максим Кузнецов
            18 ноября 2015, 19:34
            +1
            Да. Где где, а там примеров с where хватает..)

            Не за что. %)
      Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
      6