ms2GalleryRes не работает на страницах с pdoPage

Ситуация следующая:

В сайдбаре на сайте идет вывод ms2GalleryResources чз pdoPage:

[[!pdoPage?
  &parents=`4`
  &element=`ms2GalleryResources`
  &includeContent=`1` 
  &prepareTVs=`1`
  &processTVs=`1`
  &showHidden=`0`
  &tplWrapper=`@INLINE <div class="single-item rab-side">[[+output]]</div>`
  &tpl=`proj-side-tpl`
  &typeOfJoin=`inner` 
  &includeThumbs=`750x280` 
  &includeOriginal=`0`
]]
Как видите, указан родитель. И все работает отлично, но, если на странице есть другой, обычный вывод pdoPage, такой например:

[[!pdoPage?
  &parents=`5`
  &depth=`0`
  &includeContent=`1` 
  &prepareTVs=`1`
  &showHidden=`0`
  &processTVs=`1`
  &limit=`10`
  &tpl=`blog-tpl`
  &includeTVs=`blog-img`
]]
то в выводе ms2GalleryResources начинает выводится именно эти результаты, вместо нужных. Т.е.
pdoPage с &element=`ms2GalleryResources` почему то перехватывает id и шаблон вывода другого, присутствующего на странице вывода pdoPage и начинает повторно выводить их!

Что за нездоровое поведение?
Виктор
22 ноября 2016, 08:16
modx.pro
2 221
-1

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

Василий Наумкин
22 ноября 2016, 13:31
+1
Что за нездоровое поведение?
Для начала, как минимум, нужно прочитать документацию и найти там параметр &pageVarKey, который позволяет разделять пагинации на одной странице.

Потом посмотреть вывод сниппетов через &showLog, какие в них приходят команды и как они отрабатывают. Проверить, не кэшируется ли чего.

А вот если всё это уже никак не помогает — тогда и писать про «нездоровое поведение».
    Виктор
    Виктор
    22 ноября 2016, 15:03
    0
    showLog ms2GalleryRes

    0.0002072: pdoTools loaded
    0.0000451: xPDO query object created
    0.0005012: Included list of tvs: blog-img
    0.0003538: leftJoined modTemplateVarResource as TVblog-img
    0.0006070: Added selection of modResource: SQL_CALC_FOUND_ROWS `id`, `type`, `contentType`, `pagetitle`, `longtitle`, `description`, `alias`, `link_attributes`, `published`, `pub_date`, `unpub_date`, `parent`, `isfolder`, `introtext`, `content`, `richtext`, `template`, `menuindex`, `searchable`, `cacheable`, `createdby`, `createdon`, `editedby`, `editedon`, `deleted`, `deletedon`, `deletedby`, `publishedon`, `publishedby`, `menutitle`, `donthit`, `privateweb`, `privatemgr`, `content_dispo`, `hidemenu`, `class_key`, `context_key`, `content_type`, `uri`, `uri_override`, `hide_children_in_tree`, `show_in_tree`, `properties`
    0.0000141: Added selection of modTemplateVarResource: IFNULL(`value`, '') AS `tv.blog-img`
    0.0000391: Processed additional conditions
    0.0003841: Added where condition: modResource.parent:IN(5), modResource.published=1, modResource.hidemenu=0, modResource.deleted=0
    0.0000679: Replaced TV conditions
    0.0002000: Sorted by modResource.publishedon, DESC
    0.0000122: Limited to 10, offset 0
    0.0004139: SQL prepared "SELECT SQL_CALC_FOUND_ROWS `modResource`.`id`, `modResource`.`type`, `modResource`.`contentType`, `modResource`.`pagetitle`, `modResource`.`longtitle`, `modResource`.`description`, `modResource`.`alias`, `modResource`.`link_attributes`, `modResource`.`published`, `modResource`.`pub_date`, `modResource`.`unpub_date`, `modResource`.`parent`, `modResource`.`isfolder`, `modResource`.`introtext`, `modResource`.`content`, `modResource`.`richtext`, `modResource`.`template`, `modResource`.`menuindex`, `modResource`.`searchable`, `modResource`.`cacheable`, `modResource`.`createdby`, `modResource`.`createdon`, `modResource`.`editedby`, `modResource`.`editedon`, `modResource`.`deleted`, `modResource`.`deletedon`, `modResource`.`deletedby`, `modResource`.`publishedon`, `modResource`.`publishedby`, `modResource`.`menutitle`, `modResource`.`donthit`, `modResource`.`privateweb`, `modResource`.`privatemgr`, `modResource`.`content_dispo`, `modResource`.`hidemenu`, `modResource`.`class_key`, `modResource`.`context_key`, `modResource`.`content_type`, `modResource`.`uri`, `modResource`.`uri_override`, `modResource`.`hide_children_in_tree`, `modResource`.`show_in_tree`, `modResource`.`properties`, IFNULL(`TVblog-img`.`value`, '') AS `tv.blog-img` FROM `modx_site_content` AS `modResource` LEFT JOIN `modx_site_tmplvar_contentvalues` `TVblog-img` ON `TVblog-img`.`contentid` = `modResource`.`id` AND `TVblog-img`.`tmplvarid` = 3 WHERE  ( `modResource`.`parent` IN (5) AND `modResource`.`published` = 1 AND `modResource`.`hidemenu` = 0 AND `modResource`.`deleted` = 0 )  ORDER BY modResource.publishedon DESC LIMIT 10 "
    0.0001848: SQL executed
    0.0001140: Total rows: 10
    0.0001559: Rows fetched
    0.1441650: Prepared and processed TVs
    0.0018768: Loaded "modChunk" with name "blog-tpl"
    0.0247190: Returning processed chunks
    0.1724942: Total time
    8 126 464: Memory usage
    showLog обычного pdoPage

    0.0002072: pdoTools loaded
    0.0000451: xPDO query object created
    0.0005012: Included list of tvs: blog-img
    0.0003538: leftJoined modTemplateVarResource as TVblog-img
    0.0006070: Added selection of modResource: SQL_CALC_FOUND_ROWS `id`, `type`, `contentType`, `pagetitle`, `longtitle`, `description`, `alias`, `link_attributes`, `published`, `pub_date`, `unpub_date`, `parent`, `isfolder`, `introtext`, `content`, `richtext`, `template`, `menuindex`, `searchable`, `cacheable`, `createdby`, `createdon`, `editedby`, `editedon`, `deleted`, `deletedon`, `deletedby`, `publishedon`, `publishedby`, `menutitle`, `donthit`, `privateweb`, `privatemgr`, `content_dispo`, `hidemenu`, `class_key`, `context_key`, `content_type`, `uri`, `uri_override`, `hide_children_in_tree`, `show_in_tree`, `properties`
    0.0000141: Added selection of modTemplateVarResource: IFNULL(`value`, '') AS `tv.blog-img`
    0.0000391: Processed additional conditions
    0.0003841: Added where condition: modResource.parent:IN(5), modResource.published=1, modResource.hidemenu=0, modResource.deleted=0
    0.0000679: Replaced TV conditions
    0.0002000: Sorted by modResource.publishedon, DESC
    0.0000122: Limited to 10, offset 0
    0.0004139: SQL prepared "SELECT SQL_CALC_FOUND_ROWS `modResource`.`id`, `modResource`.`type`, `modResource`.`contentType`, `modResource`.`pagetitle`, `modResource`.`longtitle`, `modResource`.`description`, `modResource`.`alias`, `modResource`.`link_attributes`, `modResource`.`published`, `modResource`.`pub_date`, `modResource`.`unpub_date`, `modResource`.`parent`, `modResource`.`isfolder`, `modResource`.`introtext`, `modResource`.`content`, `modResource`.`richtext`, `modResource`.`template`, `modResource`.`menuindex`, `modResource`.`searchable`, `modResource`.`cacheable`, `modResource`.`createdby`, `modResource`.`createdon`, `modResource`.`editedby`, `modResource`.`editedon`, `modResource`.`deleted`, `modResource`.`deletedon`, `modResource`.`deletedby`, `modResource`.`publishedon`, `modResource`.`publishedby`, `modResource`.`menutitle`, `modResource`.`donthit`, `modResource`.`privateweb`, `modResource`.`privatemgr`, `modResource`.`content_dispo`, `modResource`.`hidemenu`, `modResource`.`class_key`, `modResource`.`context_key`, `modResource`.`content_type`, `modResource`.`uri`, `modResource`.`uri_override`, `modResource`.`hide_children_in_tree`, `modResource`.`show_in_tree`, `modResource`.`properties`, IFNULL(`TVblog-img`.`value`, '') AS `tv.blog-img` FROM `modx_site_content` AS `modResource` LEFT JOIN `modx_site_tmplvar_contentvalues` `TVblog-img` ON `TVblog-img`.`contentid` = `modResource`.`id` AND `TVblog-img`.`tmplvarid` = 3 WHERE  ( `modResource`.`parent` IN (5) AND `modResource`.`published` = 1 AND `modResource`.`hidemenu` = 0 AND `modResource`.`deleted` = 0 )  ORDER BY modResource.publishedon DESC LIMIT 10 "
    0.0001848: SQL executed
    0.0001140: Total rows: 10
    0.0001559: Rows fetched
    0.1441650: Prepared and processed TVs
    0.0018768: Loaded "modChunk" with name "blog-tpl"
    0.0247190: Returning processed chunks
    0.1724942: Total time
    8 126 464: Memory usage
    загружают одинаковые чанки-шаблоны, хотя указаны разные. Как такое может быть. и вообще получается будто один и тот же вывод
      Василий Наумкин
      22 ноября 2016, 17:09
      +4
      Мне то это нахера нужно? Сам читай и разбирайся, для кого этот функционал вообще в pdoTools — для меня одного, что ли?

      Вставляю 2 вызова с пустыми чанками на тестовый сайт
      [[!pdoPage?
        &parents=`0`
        &element=`ms2GalleryResources`
        &typeOfJoin=`left` 
        &includeOriginal=`0`
        &tpl=`@INLINE `
        &pageVarKey=`page1`
        &pageNavVar=`page1.nav`
        &showLog=`1`
      ]]
      [[!+page1.nav]]
      
      [[!pdoPage?
        &parents=`0`
        &tpl=`@INLINE `
        &pageVarKey=`page2`
        &pageNavVar=`page2.nav`
        &showLog=`1`
      ]]
      [[!+page2.nav]]

      Смотрю вывод логов — 2 разных вывода. Переключение пагинации меняет независимо 2 эти лога. Только у меня, что ли, оно работает?


      Ну надоело, реально, каждый день одно и то же.
        Виктор
        Виктор
        23 ноября 2016, 10:55
        -1
        Причем тут вообще пагинация? Ты вопрос нормально прочитал? Пагинации как раз работают нормально и отдельно в разных вызовах. Проблема в выводе одного и того же контента, при двух разных выводах pdoPage и ms2GalleryResources. Ты попробуй на своем тестовом сервере вывод не с пустыми чанками, а с контентом, и посмотри что получится?

        Что у тебя там каждый день одно и тоже и надоело, непонятно. Но у тебя что ни ответ, то в агрессивной форме, вот это реально. Не надоело? Раз в полгода что нибудь спросишь на твоем сайте, либо тишина, либо плевки. Нахер тогда вообще создавать поддержку
          Василий Наумкин
          23 ноября 2016, 11:04
          +2
          Вот держи вывод с чанками:
          &tpl=`@INLINE {{+id}}`
          и
          &tpl=`@INLINE {{+pagetitle}}`


          Разницу видишь? Если нет, то подсказываю: в первом выводе получаются id ресурсов, а во втором pagetitle. И они, блядь, разные.

          Вот именно это мне и надоело — отвечать на тупые вопросы простейшей проверкой на чистом сайте, когда, внезапно!, всё работает и выясняется, что проблема вовсе не в компоненте, а в какой-нибудь херне у вопрошающего на сайте.

          Не хочешь получать раздраженные ответы — не задавай тупых вопросов. А если уж так хочется, то будь добр проверить работу дополнения на чистом сайте, а потом уже спрашивать.
            Виктор
            Виктор
            23 ноября 2016, 11:59
            0
            Думаешь все такие ленивые и чуть что бегут к тебе с вопросом? Я был добр, проверял на чистом сайте, и угадай что? Нет, не работает. А у тебя работает. Знаешь почему? Нет, не потому что на сайте у тебя нет какой нибудь херни, а у меня она везде.

            Я не зря показал свои выводы в первом сообщений, и если бы ты попробовал вывести точно так же, то и у тебя оно не работало. Почему? Сейчас разобрался. Убрал из вывода ms2GalleryResources
            &tplWrapper=`@INLINE [[+output]]`, и все заработало как надо.

            Наверно, его в принципе нельзя использовать там? Возможно. Я не знал. Ты знал? (Тогда что является аналогом в выводе pdoPage?) И если бы просто внимательнее посмотрел мои выводы, мог об этом сказать, а не начинать демагогию про кеи.

            Или, его там можно использовать, но при двойном выводе оно работает вот так, и это нездоровое поведение?

            Но при любом раскладе, тебе, как минимум, пустырника 30 капелек ежедневно пора принимать, нервишки то, кончились.
              Droug
              23 ноября 2016, 12:04
              0
              А так работает?
              &tplWrapper=`@INLINE {{+output}}`
              P.S.: Если вкл феном — весь вызов в {ignore}...{/ignore}

              P.P.S.: Это таки есть в документации)
                Василий Наумкин
                23 ноября 2016, 12:06
                +1
                Я не знал. Ты знал?
                Не только знал, но и расписал всё в документации.

                В INLINE чанках нельзя указывать сниппеты, другие чанки или фильтры вывода через обычные теги, потому что так парсер MODX обработает их в первую очередь, и сниппет получит совсем не то, что вы хотели.

                Поэтому для INLINE чанков предусмотрена замена [[+]] на {{+}} — такие теги MODX пропускает, а pdoTools при работе конвертирует их как нужно. Конечно, вы всё равно можете использовать теги MODX, если вам нужно, чтобы в чанк попала уже обработанная информация

                А вот здесь еще подробнее. Но только дураки читают документацию, правда же?

                И если бы просто внимательнее посмотрел мои выводы, мог об этом сказать
                Прости пожалуйста мою невнимательность, я так виноват перед тобой, очень стыдно, извини еще раз.
                  Виктор
                  Виктор
                  23 ноября 2016, 12:22
                  -1
                  Нет, не только. Да, недосмотрел. Моя ошибка, твои примочки работают без перебоев, круто, молодец, все шикарно.

                  Однако, опять же, в моем выводе ты этого не заметил. Ты не заметил, я не дочитал, все млять люди, а не роботы, а мог бы просто подсказать в двух строках, как выше сделал уважаемый Droug, и минус 6 постов ненужной агрессивной полемики.

                  P.S. пустырнику, правда..
                    Василий Наумкин
                    23 ноября 2016, 12:32
                    +1
                    пустырнику, правда.
                    У меня в аптеке уже скидка 15% — с этой работой нихера не помогает.

                    Лучше я отключу уведомления о новых вопросах и варитесь тут сами, как хотите.
                      Droug
                      23 ноября 2016, 12:35
                      +1
                      Нинада отключать. Не ругайтесь. Всё хорошо…
        Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
        11