Всем привет.
Достался на доработку сайт на modx evo. В переменных шаблона есть переменная с типом Custom Type / Custom Variable и значением @INCLUDE assets/customTv/multiImage.php
Данного файла на сервере нет и у ресурса, который использует шаблон с этой TV, на месте этой TV написано R:/OpenServer/domains/str/public_html/assets/customTv/multiImage.php does not exist (ну естественно).
Вот код сниппета, который обрабатывает значения этого поля:
<?php
if (!$id || !$tpl) { return; }
$xtv = isset($xtv) ? $xtv : 'multiImage';
$width = isset($width) ? $width : 0;
$height = isset($height) ? $height : 0;
$output = '';
$_var = $modx->getTemplateVar($xtv, '*', $id);
if ($_var['value']) {
$_var = explode('||', $_var['value']);
if (isset($reverse) && $reverse) {
$_var = array_reverse($_var);
}
$iSize = sizeof($_var);
$imgCount = isset($imgCount) && $imgCount < $iSize ? $imgCount : $iSize;
for($i=0;$i<$imgCount;$i++) {
$image = substr($_var[$i], 0, strpos($_var[$i], '::'));
$image = $_var[$i];
$parseChunkParams = array();
if ($width || $height) {
$snipParams = array('src' => $image, 'ky' => 0.5);
if ($width) { $snipParams['width'] = $width; }
if ($height) { $snipParams['height'] = $height; }
$parseChunkParams['prevImage'] = $modx->runSnippet('Resizer', $snipParams);
} else {
$parseChunkParams['prevImage'] = $image;
}
$parseChunkParams['origImage'] = $image;
$output .= $modx->parseChunk($tpl, $parseChunkParams, '[+', '+]');
}
} else {
$output .= isset($defImg) ? '<img src='.$defImg.' />' : (isset($noResult) ? $noResult : 'Нет изображений');
}
return $output;
Собственно, я так понимаю, мне нужно в этом поле получить значения путей картинок, как это сделать, чтобы можно было пользователю в админке выбрать изображения с помощью диалога выбора картинок? Хотелось бы понять, как это работало