Ilua
С нами с 01 июля 2024; Место в рейтинге пользователей: #11091php + Tv's
            Добрый день, столкнулся с такой проблемой, может кто подскажет?
Есть php код
(вывод изображений):
        
        
        
    Есть php код
<?php
$category = $for = $out = '';
$imgs = [];
if( isset($_POST['category']) && $_POST['category'] && ctype_digit($_POST['category']) ){$category = $_POST['category'];}
if( isset($_POST['for']) && $_POST['for'] && ctype_digit($_POST['for']) ){$for = $_POST['for'];}
$id_resource = $modx->getTemplateVarOutput(array('id_resource_photo'), 5)['id_resource_photo'];
$id_resource_arr = explode(',',  $id_resource);
if ($category){
	$imgs = json_decode($modx->getTemplateVarOutput(array('imgs_1'), $category)['imgs_1'],true)['fieldValue'];
}else{
		if($page == 'other'){ //ограничение - 5 элементов на главной
				$arr = json_decode($modx->getTemplateVarOutput(array('imgs_1'), $id_resource_arr[$i])['imgs_1'],true)['fieldValue'];
				if(is_array($arr))
					$imgs = $arr;
		} else {
			foreach ($id_resource_arr as $id) {
				$arr = json_decode($modx->getTemplateVarOutput(array('imgs_1'), $id)['imgs_1'],true)['fieldValue'];
				if(is_array($arr))
					$imgs = array_merge($imgs, $arr);
			}
		}
}
?>который должен фильтровать по 2ум критериям, которые выбираются на сайте 2мя выпадающими списками (собственно category и for) при выборе только category, все работает, но при выборе for выводится сообщение о том, что подходящие изображения не найдены category — категория в которой нужно найти подкатегорию for.(вывод изображений):
<?php
				if($imgs){
					foreach ($imgs as $i){
						if(isset($i['photo']) || isset($i['photo1']) || isset($i['photo_webp'])){
							$photo = (isset($i['photo']) && $i['photo']) ? $i['photo'] : $i['photo1']; 
							$photo_crop = $modx->runSnippet('phpthumb', ['input'=>$photo, 'options'=>'w=348,h=261,zc=C']);
							$photo1 = (isset($i['photo1']) && $i['photo1']) ? $i['photo1'] : $i['photo'];
							$photo_webp = isset($i['photo_webp']) ? $i['photo_webp'] : '';
							if($for){
								if(isset($i['for']) && $i['for']){
									$fors = explode(',', $i['for']);
									if(in_array($for, $fors)){
										$out .= '<a href="'.$photo1.'" data-lightbox="img"><img src="'.$photo1.'" loading="lazy" alt="'.$i['title'].'"></a>';
									}
								}
							}else{ //echo $photo_webp;
								// print_r($i);
								$srcset = !empty($photo_webp) ? 'data-srcset="'.$photo_webp.'"' : '';
								$cr = empty($photo1) ? $photo_webp : $photo1;
								$crop = $modx->runSnippet('phpthumb', ['input'=>$cr, 'options'=>'w=1000,h=1000,zc=C']);
								
								$out .= '<div><a class="block_gallery-item" href="'.$photo_webp.'" data-fancybox="img" '.$srcset.'>';
								if (empty($photo_webp)) {
									$crop = $modx->runSnippet('phpthumb', ['input'=>$cr, 'options'=>'w=348,h=261,zc=C']);
									$out .= '<img src="'.$crop.'" loading="lazy" alt="'.$i['title'].'">';
								}
								else { 
									$alt = explode('/', $photo_webp);
									// if ($alt[2] = "svetovoj") {
									// 	$alt[2] = "Световые потолки";
									// }
									$cr = empty($photo1) ? $photo_webp : $photo1;
									$crop = $modx->runSnippet('phpthumb', ['input'=>$cr, 'options'=>'w=348,h=261,zc=C']);
									$out .='
									<picture>
										<source srcset="'.$photo_webp.'" type="image/webp">
										<img src="'.$photo_webp.'" alt="'.$alt[2].'">
									</picture>';
								}
								$out .=	'</a></div>';
							}
						}
					}
				}
				echo $out ? $out : '<p class="bold-text">Подходящих результатов не найдено.</p>';
			?>id_resource_photo — строка с id страниц «123, 234, 345» такого типа, на изображениях которые нужно вставить чекбоксом выбирается подкатегория