Проверка TV из сниппета
Здравствуйте. Подскажите пожалуйста. Есть ресурсы modx за ними закреплены три TV с фотографиями,
у всех есть как минимуму по одному заполненному TV, остальные как дополнительные, у каких-то ресурсов они заполнены, у каких-то нет. Хотелось бы написать небольшой сниппет, который будет смотреть, какие тв заполнены — те и выводить, а пустые пропускать. Некое подобие галереи. К сожалению знаний не хватает, вот пока какие-то наброски, хочу хотя бы получить список этих тв:
у всех есть как минимуму по одному заполненному TV, остальные как дополнительные, у каких-то ресурсов они заполнены, у каких-то нет. Хотелось бы написать небольшой сниппет, который будет смотреть, какие тв заполнены — те и выводить, а пустые пропускать. Некое подобие галереи. К сожалению знаний не хватает, вот пока какие-то наброски, хочу хотя бы получить список этих тв:
<?php
//Получаю id ресурса
$id = $modx->resource->get('id');
//Условие для выборки
$where = array(
'contentid' => $id
, 'tmplvarid:IN' => ["2,37,38"] // Можно ли так передать несколько tv для выборки?
);
//Получаю TV
$tv = $modx->getObject('modTemplateVarResource', $where);
//return $tv->get('value');
//Хочу проверить, пробежаться в цикле, посмотреть что навыбирало
//Тут выводится первое tv из условия
while($tv){
return $tv->get('value');
}
//Тут ничего не выводится
foreach($tv as $key){
return $key;
}Подскажите, как можно реализовать такую задачу со своим сниппетом? Комментарии: 8
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
Но лучше просто установить нормальную галерею и пользоваться ею.
Галерею ставить не хочется, потому что уже у 2к ресурсов заданы фото через TV, а теперь у некоторых ресурсов появляются по несколько фотографий, их будет не так много, не хочется перезакреплять все фотографии заново, по этому и хотелось какое-то простое решение=)
Сниппет checkImg:
Принимает TV:
Спасибо за помощь
Хотя бы так:
Код чанка:
А вызывать, соответственно: могут быть ошибки, т.к. писал без проверки, но мысль 100% сохраняется)