Серый

Серый

С нами с 17 марта 2016; Место в рейтинге пользователей: #206
Гарри
10 июля 2023, 12:14
1
+1
Обычно данные хранятся в одном ТВ в формате:
2023-07-10||2023-07-15

Eсли вы используете 2 ТВ, существующие данные не перезаписываются автоматически. Для этого вам нужно написать SQL-запрос или PHP сниппет.

В качестве альтернативы вы можете использовать решение только с 1 ТВ-полом и таким кодом
[[!pdoResources?
    ...
    &where=`["SUBSTRING_INDEX(dateRange, '|', -1) < '[[!today]]'"]`
]]
vectorserver
30 июня 2022, 09:20
1
+1
Тоже столкнулся недавно). Вот мое решение, на примере твоего TV
TV + instruments +.value
[[!pdoResources?&parents=`2773`
 &tpl=`media_item`
 &prepareTVs=`1`
 &includeTVs=`instruments`
 &groupby=`TVinstruments.value`
]]
Роман
29 июня 2022, 09:01
1
+1
<img src="https://upload.wikimedia.org/wikipedia/commons/thumb/2/28/Bull_Moose.jpg/1280px-Bull_Moose.jpg" id="imageid" width="400" />
<div id="originalSize"></div>
<script>
    var img = document.getElementById('imageid');
    document.getElementById('originalSize').innerHTML = img.naturalWidth + "x" + img.naturalHeight + "px";
</script>
Серый
17 апреля 2021, 13:37
1
0
Уважаемые коллеги, спасибо вам за ваше жаркое участие! Победителем разума над недоразумением объявляется вот эта абракедабра:
@EVAL return $modx->runSnippet('pdoResources', array('parents'=>'8', 'depth'=>'1', 'limit' => '0', 'deleted' => '0', 'tpl' => '@INLINE {{+pagetitle:notags}}=={{+id}}||'));
Также отдельное спасибо за науку с фильтрами, работающими в инлайн чанках через фигурные скобочки {{+pagetitle:notags}}!
Серый
05 марта 2021, 12:33
1
0
Помог фильтрик от Василия отсюда.
Сделал сниппет
<?php
$tmp = explode('/', $input);
return end($tmp);
назвал его «file-name», и в чанке вывода карточки публикации на странице-списке использую конструкцию
<img src="/resourceimages/[[+id]]/[[+tv.simpleImage:file-name]]">
Жить стало лучше, жить стало веселее!)))
Oleg
14 ноября 2019, 15:55
1
0
Упс… А действительно так. Я-то это пробовал, но наверное, кэш не почистил. Сейчас включил сайт, кэш почистил — всё выводится. Спасибо! А то я с самого утра как упёрся… так и сижу. ))
Баха Волков
21 января 2019, 14:32
1
+1
Скопируйте сниппет migxResourceMediaPath, назовите её migxBabelResourceMediaPath, добавьте после 71-ой строки:

$babel = $modx->getService('babel', 'Babel', $modx->getOption('babel.core_path', null, $modx->getOption('core_path').'components/babel/').'model/babel/', $scriptProperties);

$linkedResources = $babel->getLinkedResources($docid);
$originalResource = $linkedResources['web'];

и замените 104-ую строку:
$path = str_replace('{id}', $docid, $path);
на:
$path = str_replace('{id}', ($originalResource ?: $docid), $path);

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

Ну и укажите:
[[!migxBabelResourceMediaPath? &pathTpl=`assets/images/portfolio/{id}/` &createFolder=`1`]]
Серый
18 июля 2018, 15:34
2
+1
Вай-бай-бай, какая же красотища у нас с вами получилась, уважаемые коллеги! :-D


Код использовал уот такой:
<?php
return $modx->runSnippet('getImageList', array(
    'docid' => $scriptProperties['row']['id'],
    'tvname' => 'stockList_MIGX',
    'tpl' => '@CODE:<div style="background-image: url(/[[+image]]);background-position: top center;background-size: cover;background-repeat: no-repeat;width:50%;float:left;padding-bottom:50%;border:1px solid #fff;box-sizing: border-box;"></div>',
    'limit'=> 4
));

Категорически огромное вам человеческое спасибо!
Баха Волков
18 июля 2018, 09:27
1
+1
<?php
$obj = json_decode($value);

return '/stock-photo/' . $scriptProperties['row']['id'] . '/' . $obj[0]->image;