Tickets - TicketMeta плагин копирования пути
Привет.
Задача такая:
При создании тикета с фронтенда, копируются путь первой загружаемой картинки в TV.
То есть копируем плейсхолдер [[+thumbs]], который мы можем получить в сниппете TicketMeta.
Проблема в том, как получить путь загружаемого файла, то есть [[+thumbs]], который нужно будет записан в TV.
Вот небольшой набросок. Подскажите пожалуйста, как можно получить это значение.
Задача такая:
При создании тикета с фронтенда, копируются путь первой загружаемой картинки в TV.
То есть копируем плейсхолдер [[+thumbs]], который мы можем получить в сниппете TicketMeta.
Проблема в том, как получить путь загружаемого файла, то есть [[+thumbs]], который нужно будет записан в TV.
Вот небольшой набросок. Подскажите пожалуйста, как можно получить это значение.
if ($modx->event->name == 'OnDocFormSave') {
$thumbs = /* Тут мы получаем путь загружаемого файла */;
$resource->setTVValue('my_tv', $thumbs );
$resource->save();
}
}
Комментарии: 5
А зачем, если можно сниппетом выводить первую картинку тикета где угодно?
Сниппет getThumb:
Сниппет getThumb:
$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);
}
Вызываем так:[[+id:getThumb]] // это путь к миниатюрке первой картинки ресурса [[+id]]
На сайте все картинки во всех рубриках выводятся через TV. Поэтому и стоит задача, скопировать путь в её значение… Подскажи пожалуйста, как через плагин это можно сделать… на событие «создание тикета»
А если выводить через условие?
Например если не заполнен тв, то выводить первую картинку тикета, а если и он пустой (может вернуть id, если картинки нет), то не выводить ничего:
Например если не заполнен тв, то выводить первую картинку тикета, а если и он пустой (может вернуть id, если картинки нет), то не выводить ничего:
[[+image:isempty=`
[[+id:getThumb:is=`[[+id]]`:then=``:else=`[[+id:getThumb]]`]]
`]]
Не подходит… сайт уже довольно старый и объёмный. Используется очень огромной количество чанков и шаблонов. И в них везде вызывается TV к сожалению.
Я сделала костыль — изменила параметр ввода TV с image на text(при выводе обрамила TV тэгом IMG), поправила скрипт вставки изображения в контент(чтобы не ссылку в контент вставлял, а урл картинки в инпут TV), и прописала жёсткий путь для изображения, чтоб не создавал для каждого ресурса папки под картинки. На большее меня не хватило в виду недостатка опыта, но всё работает. Буду рада, если кто-то подскажет нормальный путь решения…
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.