pdoPage + AJAX + getImageList + phpThumbOf

В заголовке лимит на символы не дает охарактеризовать проблему :)

В общем суть такая, пытаюсь я используя pdoPage делать до загрузку элементов из MIGX методом &ajaxMode=`button` и вроде бы все получается, но не отрабатывает phpThumbOf при последующих «догрузок» элементов.


По порядку, вызываю pdoPage:
<div id="pdopage">
  <div class="rows">
    [[!pdoPage:default=`В данном альбоме еще нет фотографий.`?
      &element=`getImageList`
      &tvname=`migx_photoGallery`
      &limit=`1`
      &tpl=`migx_TEST`
      &processTVs=`migx_photoGallery`
      [[-&prepareTVs=`migx_photoGallery` ]]
      &docid=`[[*id]]`
      &where=`{"visible:=":"1"}`
      &ajaxMode=`button`
      &ajaxElemMore=`#pdopage .btn-grey`
      &ajaxTplMore=`@INLINE <div class="gallery-button"><button class="btn btn-grey"><i class="fa fa-refresh"></i> ПОКАЗАТЬ ЕЩЁ</button></div>`
    ]]
  </div>
  
  [[!+page.nav]]
  
</div>
TV migx_photoGallery содержит несколько полей, в том числе image, которое является inputTV на другое TV с типом ввода Image. Почему не сразу inputTVtype=image? Все просто, из-за указания определенного источника файла для выбора изображений. Но дело точно не в этом, я пробовал и так и эдак…

Содержимое чанка migx_TEST:
[[+image]] 

[[!phpthumbof? &input=`[[+image]]` &options=`&h=800&q=100`]]
пока так, для эксперимента.

Пробуем, открываем страницу, видим:
assets/content/images/gallery/gallery7_b.jpg 
/assets/components/phpthumbof/cache/gallery7_b.3388ce78fa35d900c3bb8aeb9a82feb040.jpg
Отлично, phpThumbOf сделал свое дело. Нажимаю «Показать ещё» и уже вижу это:
assets/content/images/gallery/gallery8_b.jpg
Теперь phpThumbOf не сработал, выводит только [[+image]]… Жму еще:
assets/content/images/gallery/gallery9_b.jpg
Аналогично! Путь есть, путь правильный, но phpThumbOf тупо не отрабатывает в чанке.

Может есть у кого нибудь подобный опыт связи всего этого?
gloobus
23 октября 2017, 07:51
modx.pro
3 347
0

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

Баха Волков
23 октября 2017, 11:13
0
Пробовали вызов phpthumbof сделать кэшируемым?

И вообще, посоветовал бы phpthumbon или pthumb. На старых проектах у меня с ними все работает.
    gloobus
    23 октября 2017, 11:28
    0
    phpthumbof попробовал сделать кэшируемым — не помогло!

    Попробовал установил phpthumbon — помогло! Спасибо большое за совет, про phpthumbon знал но что-то не подумал что будет разница в работе… Имеет смысл заменить phpthumbOF на phpthumbON во всем проекте?
      Баха Волков
      23 октября 2017, 11:32
      0
      Да, имеет. Лично я заметил чуть больше скорости работы сайта.
        gloobus
        23 октября 2017, 11:42
        0
        Спасибо, но заметил особенность, что при «Очистить кэш», кэш phpthumbOF очищается, а вот phpthumbON не очищается… В настройках не нашел. Не задавались этим вопросом?
          Баха Волков
          23 октября 2017, 14:05
          0
          К сожалению не задавался этим вопросом, если что, напишу
          gloobus
          23 октября 2017, 12:44
          0
          Кстати, еще что заметил…
          Вызов:
          [[!pdoPage?
                &element=`getImageList`
                &tvname=`migx_photoGallery`
                &limit=`1`
                &tpl=`migx_TEST`
                &processTVs=`migx_photoGallery`
                ... и т.д.
              ]]
          При открытии данной страницы, phpthumbON кэширует сразу ВСЕ изображения, которые встречаются в TV migx_photoGallery, не зависимо от того, что что стоит limit=1 и выводится только первый элемент. phpthumbOF так не делал, он кэшировал только, что выводится по лимиту, а при подгрузке уже не срабатывал, НО, картинку выводил, если кэш был сделан ранее. Я пробовал ставить limit=999, вывести сразу все элементы, потом обратно менял limit=1 и тогда при подгрузке все выводилось. А вот уже новую картинку в подгружаемых данных сниппет phpthumbOF не обрабатывал. Не думаю что будет много элементов в MIGX-е, понаблюдаю!
      Баха Волков
      23 октября 2017, 11:15
      0
      Кстати, Migx после последнего обновления прекрасно работает с типом ввода Image и с разными источниками
        gloobus
        23 октября 2017, 11:45
        0
        Я пробовал, создавал TV MIGX, добавлял там тип ввода Image, этому TV MIGX указывал источник файлов отличный от Filesystem, но не помогало, при выборе изображения все равно открывается Filesystem.
          Павел Романов
          23 октября 2017, 12:05
          +1
          Указываете прямо во «вкладках формы»:
          "fields":[
                  {
                    "field":"image",
                    "caption":"Изображение",
                    "inputTVtype":"image",
                    "sources":[
                      {
                        "context":"web",
                        "sourceid":2
                      }
                    ]
                  }
          .........

          Или через конфигурацию:
        Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
        9