В ресурсе есть доп. поле с типом ввода «текстовая область». В ресурсе в это поле ввожу несколько путей для изображений, каждый с новой строки.
files/images/one.jpg
files/images/two.jpg
files/images/three.jpg
ВАРИАНТ 1
Создаю сниппет «test» и добавляю его в шаблон. В сниппете делаю вот что:
// получаю данные из доп. поля
$images = $modx->resource->getTVValue('images');
// разбиваю строку по зазделителю (новая строка) и получаю массив
$images = explode("\n", $images);
// пытаюсь вывести первое изображение (просто для проверки) из массива через phpthumbon:
echo $modx->runSnippet('phpthumbon', array('input' => $images[0], 'options' => 'w=280&h=280&zc=1'));
И в результате изображение не выводится, а вместо него стандартная заглушка (нет изображения):
/assets/cache_image/noimage_280x280_68c.jpg
Вроде, все правильно, логично, должно работать, но не работает и я не могу понять почему так. Решил проверить на тестовом сайте в modhost.pro — там то же самое. Много чего пробовал, но не пойму в чем дело. Решил создать массив вручную прямо в сниппете для проверки:
ВАРИАНТ 2
// в сниппете для теста создаю массив с путями изображений вручную
$images_2 = ["files/images/one.jpg", "files/images/two.jpg", "files/images/three.jpg"];
// вывожу первое изображение из массива через phpthumbon
echo $modx->runSnippet('phpthumbon', array('input' => $images_2[0], 'options' => 'w=280&h=280&zc=1'));
И оно работает.
Помогите разобраться в ситуации и поправить ее!
Костромин Игорь 19.09.2020 14:58 #
Алексей Либер 20.09.2020 11:56 #
explode(PHP__EOL,$images);
Емелин Евгений 20.09.2020 16:53 #
weranda 20.09.2020 17:33 #