К содержанию

Вывод превью в Tickets

Есть ли возможность при выводе тикетов через mFilter2

[[!mFilter2?
    &element=`getTickets`
    &includeThumbs=`440x300`

Выводить загруженную картинку? Просто [[+thumb]] выводится только если вместо mFilter2 написать pdoPage.

И сразу спрошу, нет ли такой способности у TicketForm что бы загрузка картинок шла через ms2Gallery, то есть что бы открыл документ и видишь загруженные фото? ( но это так в дополнение к основному вопросу )
Константин
Константин
30 декабря 2014, 15:35
modx.pro
4 181
Реклама

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

Константин
Константин Проверенный
30 декабря 2014, 21:28
Вообщем то есть одно решение, сделать просто сниппет (например: getThumb) с содержимым:

$q = $modx->newQuery( 'TicketFile', array( 'id' == $modx->resource->get( 'id' ) ) );
$q->limit( 1 );

$q->prepare();
$q->stmt->execute();
$res = $q->stmt->fetchAll( PDO::FETCH_ASSOC );

foreach ( $res as $thumb ) {
    return $thumb['TicketFile_thumb'];
}

И в каждом чанке вызвать

<img src="[[!getThumb]]" />

, и тогда будет показыватся первая загруженная фотка, НО, это же доп. запрос к базе. Выбрали 100 тикетов и помимо самих запросов тикетов в дополнение еще 100 запросов на выборку thumb. Данное решение работает нормально, но хотелось бы узнать есть ли возможность доставать этот thumb вместе со всей инфой.
    Василий Наумкин
    Василий Наумкин Администратор
    30 декабря 2014, 21:34
    Далеко не факт, что присоединение таблицы картинок и выборка из неё будут работать быстрее, чем твой простой запрос из сниппета.

    Но ты можешь попробовать — параметр &leftJoin.

    нет ли такой способности у TicketForm что бы загрузка картинок шла через ms2Gallery
    Нет.

    У Tickets всё своё, потому что ms2Gallery — платный. Было бы неправильно заставлять покупать ms2Gallery всех желающих загружать файлы в Tickets.
      Константин
      Константин Проверенный
      30 декабря 2014, 21:36
      Спасибо!!!
    Константин
    Константин Проверенный
    30 декабря 2014, 23:19
    На всякий случай выложу пример который я использую, может кто поправит, а если не требуется, то может кому пригодится.

    $q = $modx->newQuery( 'TicketFile' );
    $q->limit( 1 );
    $q->where(array(
       'parent' => $input
    ));
    
    $q->prepare();
    $q->stmt->execute();
    $res = $q->stmt->fetchAll( PDO::FETCH_ASSOC );
    
    foreach ( $res as $thumb ) {
        return $thumb['TicketFile_thumb'];
    }

    Вызывается в чанке таким макаром:

    [[+id:getThumb]]
      Василий Наумкин
      Василий Наумкин Администратор
      31 декабря 2014, 08:53
      Вот так немного симпатичнее:
      $q = $modx->newQuery('TicketFile');
      $q->limit(1);
      $q->select('thumb');
      $q->where(array(
      	'parent' => $input
      ));
      if ($q->prepare() && $q->stmt->execute()) {
      	return $q->stmt->fetch(PDO::FETCH_COLUMN);
      }
        Михаил
        Михаил Старожил
        18 мая 2018, 13:07
        Подскажите пожалуйста!
        Как мне добраться к файлам определёно ресурса???
        Я просто делаю доску объявления и пытаюсь спарсить несколько сотен объявления, но появилась проблемка, а именно не получается присоединить фотки к тикету.
        Нужно что то типо такого (к сожалению не знаю как правильно это написать):
        $res = $modx->newObject('ticket');                        
        $res->set('file');
        $res->save();
        Дмитрий
        Дмитрий Старожил
        23 октября 2016, 19:49
        Вывожу картинку таким способом [[+id:getThumb]]
        Но когда создаю новый тикет и загружаю новую картинку, то на всех тикетах картинка меняется на последнюю загруженну.
        Как это исправить?
        Rrp2010
        Rrp2010 Старожил
        16 июля 2015, 09:42
        А как создать условие, если нет фото, вставить заглушку?

        [[+id:getThumb:notempty=`тут если не пустое`:else=`тут когда пустое`]]

        Пробовал так, но так как передается ID то получается:
        <img src="id тикета">

          brioni
          brioni Проверенный
          27 февраля 2016, 11:50
          Попробуй так
          [[+id:getThumb:default=`Заглушка.png`]]
            Rrp2010
            Rrp2010 Старожил
            27 марта 2016, 10:05
            [[+id:getThumb:default=`Заглушка.png`]]
            У меня выводит ID тикета

            Сделал так:
            [[+id:getThumb:lt=`1`:then=`[[+id:getThumb]]`:else=`Заглушка.png`]]
          Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
          10