[Tickets] 1.5.0-beta с генерацией нескольких превью

Неожиданно представляю вам новую версию Tickets с возможностью генерации нескольких превью для загружаемых юзерами картинок.

Как известно, изначально такую возможность я не предусматривал, справедливо полагая, что для каждой картинки в тикете достаточно одной превью. Но Tickets вышел очень многофункциональным дополнением, и многие люди используют его так, как я и представить не мог.

Вот эти люди меня уговорили немного переделать работу с файлами, и теперь вы можете указывать в источнике медиа такое:
{
	"thumb":{"w":120,"h":90,"q":90,"zc":"1","bg":"000000"},
	"mini":{"w":50,"h":50,"q":90,"zc":"1","bg":"000000"}
}
То есть, именованный массив в котором ключи являются суффиксами превьюшек.

Сколько превьюшек укажете — столько и будет сгенерировано. Имя приставляется после названия файла, через подчеркивание. В нашем примере получится
картинка.jpg
картинка_thumb.jpg
картинка_mini.jpg

Для хранения всех превьюшек добавлено новое поле в TicketFile — thumbs. Это json массив со ссылками на все сгенерированные превью. Основная превьюшка доступна, как и прежде, в поле thumb. Также она дублируется и в thumbs.

В чанках оформления картинок тикетов новые превьюшки доступны вам как
[[+thumbs.thumb]]
[[+thumbs.mini]]

Можно их сразу указать и в чанке tpl.Tickets.form.image:
...
	<div class="ticket-file-template">
		<a href="[[+url]]" title="[[+name]]">
			<img src="[[+thumbs.mini]]" />
		</a>
	</div>
Напоминаю, что старый [[+thumb]] работает как и раньше.

За обновление благодарим Александра Наумова. Он заказал и оплатил эту работу.
Это бета версия, желательно протестировать перед обновлением на рабочих сайтах.
Василий Наумкин
29 декабря 2014, 08:32
modx.pro
9
3 792
+12

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

Григорий Коленько
29 декабря 2014, 20:13
+3
Класс. Спасибо.
Едниственное,
столкнулся только с такой проблемой. В Источнике файлов следующее:
{
	"thumb":{"w":145,"h":100,"q":90,"zc":"1","bg":"ffffff"},
	"mini":{"w":660,"h":400,"q":90,"zc":"1","bg":"000000"}
}
Получается в базе так:
Колонка url:
/assets/images/tickets/159/99e62185c5f20c8f345c248acad033a78f2ac0cf.jpeg
Колонка thumbs:
{"thumb":"\/assets\/images\/tickets\/0\/99e62185c5f20c8f345c248acad033a78f2ac0cf_thumb.jpg","mini":"\/assets\/images\/tickets\/0\/99e62185c5f20c8f345c248acad033a78f2ac0cf_mini.jpg"}
Т.е. в адресе пропадает ID ресурса, которому присвоена миниатюра.
Виталий Серый
30 декабря 2014, 12:53
0
Замечательное нововведение. Еще остается добавить коробочный rank и вот он бульдозер для фантазии)
Спасибо!
    Wassi Wassinen
    30 декабря 2014, 13:05
    0
    Что есть ранк?
    Василий Наумкин
    30 декабря 2014, 13:32
    0
    Тогда еще захотят и вывод картинок в админке и сортировку перетаскиванием.

    Пока нет желания делать.
      Виталий Серый
      30 декабря 2014, 13:41
      0
      Кому надо тот и сам сделает. А в админке делать интерфейс хоть и полезно, но тот еще изврат, причем на любителя.
    Сергей Шлоков
    31 декабря 2014, 10:00
    0
    Интересно, как хоть это выглядит.
      Василий Наумкин
      31 декабря 2014, 10:01
      +1
      Вот так:
        Valikhan
        24 сентября 2015, 18:31
        1
        0
        Можете показать как указать в источнике медиа этот массив, чтобы генерировались эти превью, а то никак не могу додумать :((
      Борис И
      08 января 2015, 12:13
      +1
      Спасибо! Tickets становится все лучше и лучше.
        Александр Наумов
        22 января 2015, 15:14
        0
        Василий, спасибо!!!
        Не знаю, можно ли отнести вопрос к данной теме или это косяк phpThumb?
        Решил сделать рамку, добавил «fltr»:«bord|2|0|0|ffffff» в итоге с правой стороны начал проступать background на 1px.

        Мои настройки:{«w»:54,«h»:42,«q»:90,«zc»:«1»,«bg»:«000000»,«fltr»:«bord|2|0|0|ffffff»}
        Резульат:

          Василий Наумкин
          22 января 2015, 15:17
          0
          Поставь phpthumb(of|on) да проверь и подбери нужные параметры.
            Александр Наумов
            22 января 2015, 17:24
            0
            Да, это особенности ресайза phpThumb, рамка без дополнительного отступа получается, если на выходе изображение квадратное.
          wgame
          02 февраля 2015, 11:05
          0
          не работает отложенная публикация и смена даты на более раннее время
            Yanusya
            16 февраля 2015, 12:21
            0
            Василий, подскажите пожалуйста, почему TicketLatest не реагирует на изменение параметра &showUnpublished. В любом случае и при &showUnpublished=`0` и при &showUnpublished=`1` всегда показывает все, в т.ч. и неопубликованные (кеш сбрасывала).
              Сuriosity
              19 марта 2015, 22:54
              0
              Мое искреннее спасибо тем, кто работал над этим расширением! Весьма впечатляет, особенно на фоне того, что нет альтернатив даже похожего уровня…
              Прослеживая цепочку версий с их изменениями, можно смело предположить, что сам главный автор (то бишь Василий) не предполагал о том, что это расширение станет таким мультифункциональным…
              Лично я уже второй день изучаю это детище и все больше под приятным впечатлением!)
              Поэтому еще раз СПАСИБО!

              P.S. И пользуясь случаем, хотелось бы чтоб знающие поделились ответом на такой вопрос
              Для того, чтоб документ (ресурс) сделать разделом, то нужно в админке, зайдя в редактирование документа, перейти на вкладку «Настройки» и поменять «Тип ресурса» на «Раздел», после чего нажать кнопку сохранить… Это понятно. НО, теперь, собственно, у меня возник вопрос:
              Как, сделать «Раздел» обратно «Документом»?
              Может я плохо искал, но, к сожалению, не нашел…
                Воеводский Михаил
                19 марта 2015, 23:40
                +1
                Василий однажды упоминал, что данная возможность убрана ввиду не совсем корректной работы смены типа с раздела на документ.
                  Василий Наумкин
                  20 марта 2015, 05:57
                  0
                  Только через редактирование БД.

                  Это просто не реализовано из-за некоторых сложностей во время разработки, а сейчас уже как-то и незачем, вроде — редко кто спрашивает, привыкли.

                  Если когда-нибудь буду дорабатывать Tickets, может и сделаю.
                    Сuriosity
                    20 марта 2015, 13:52
                    0
                    Спасибо, понял. Значит, искал я хорошо. Вчера, не дожидаясь ответа, через прямое редактирование БД я поменял тип ресурса назад. Но, если представить, что есть старый сайт с огромным количеством страниц, и какой-то незадачливый контент-менеджер или директор с админскими правами решит поэкспериментировать (думая, что всегда может вернуть назад) и сменит «Тип ресурса» в каком-нибудь пузатом Ресурс-Контейнере, то… мягко говоря, это может плачевно сказаться на сайте, поведенческом факторе, и его выдаче в поисковых… по крайней мере, если вовремя не найдут человека с руками и головой, который сразу полезет в БД, чтоб поправить тот самый Ресурс-Контейнер.
                    Но это все мелочи, на фоне глобальности и серьезности Расширения Tickets. Уверен, что в скором времени это меленький камешек будет убран с дороги…
                    P.S.
                    Спасибо за оперативные ответы!)
                      Василий Наумкин
                      20 марта 2015, 14:23
                      0
                      Ой, да брось. Такие люди сломают всё гораздо раньше.

                      Я наоборот всех постоянно убеждаю не бояться эксперементировать, потому что у сайта делаются резервные копии.
                Spirit_Ninja
                17 мая 2015, 12:50
                0
                Клево. А если не пользоваться этими доработками, как просто заменить размер «старого [[+thumb]]» который генерируется по умолчанию?
                  Rrp2010
                  07 июня 2015, 12:27
                  0
                  Так и не понял, как вывести превью прикрепленных (изображение) тикета, если в сниппете getTickets нет параметров обработки изображений
                  &tplFile=
                  или
                  &tplimage=
                  . Или вывод превью изображения можно сделать через
                  &tpl="tpl.Tickets.list.row"
                  , но там тоже нет вывода превью, указан только introtext и картинки выводятся вместе с текстом, а как сделать отдельно только привью изображения? Полагаю что в tpl.Tickets.list.row нужно добавить
                  [[+files]]
                  или как здесь написано
                  [[+thumbs.mini]]
                  , но к сожалению, не то не другое не выводит изображение. Есть ли такая возможность в Tickets?
                  Valikhan
                  21 сентября 2015, 14:01
                  0
                  и теперь вы можете указывать в источнике медиа такое
                  Можете показать как указать в источнике медиа этот массив, чтобы генерировались эти превью, а то никак не могу додумать :((
                    Valikhan
                    24 сентября 2015, 18:31
                    0
                    UP!!! Кто нибудь в курсе?? Может подскажете?
                    brioni
                    21 февраля 2016, 00:27
                    0
                    А как эту самую превьюшку [[+thumb]] вытащить за пределы чанка tpl.Tickets.form.image?
                      Кирилл Спеваков
                      22 августа 2018, 22:36
                      0
                      Нашли решение?
                        brioni
                        23 августа 2018, 12:22
                        0
                        <img itemprop="image"  src="[[pdoResources:default=`/assets/template/images/logo.png`? &class=`TicketFile` &where=`{"parent":[[+id]]}`  &sortby=`RAND()` &limit=`1`  &tpl=`@INLINE [[+thumbs.thumb]]`]]" alt="[[+pegetitle]]"/>
                          Кирилл Спеваков
                          30 августа 2018, 20:06
                          0
                          Спасибо за помощь, но не работает к сожалению
                            brioni
                            31 августа 2018, 14:39
                            +1
                            возможно у тебя другое название плейсхолдера
                            [[+thumbs.thumb]]
                            зайди в Медиа -≥ источники файлов -≥ клик правой кнопкой мыши по Tickets Files -≥ редактировать
                            и проверь названия плейсхолдеров для вставки
                              Кирилл Спеваков
                              31 августа 2018, 15:06
                              0
                              Точно!!) Как-то не подумал об этом, спасибо, все заработало
                      Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
                      33