Как сделать сортировку по наличию превьюшных изображений?

Для того чтобы реализовать сортировку по наличию превьюшных изображений в CMS 1C-Bitrix, вам потребуется несколько этапов.

1. Получение списка элементов с превьюшными изображениями:
Первым шагом необходимо получить список элементов, которые имеют превьюшные изображения. Для этого можно воспользоваться классом CIBlockElement и методом GetList, указав условие наличия превьюшки при фильтрации. Например:

$arFilter = array(
   "IBLOCK_ID" => 1, // ID инфоблока
   "ACTIVE" => "Y", // активные элементы
   "!=PREVIEW_PICTURE" => false // наличие превьюшки
);

$arSelect = array(
   "ID",
   "NAME"
);

$res = CIBlockElement::GetList(
   array(),
   $arFilter,
   false,
   false,
   $arSelect
);

while($arItem = $res->GetNext())
{
   // обработка элемента списка
   echo $arItem["ID"].": ".$arItem["NAME"]."<br>";
}

2. Сортировка списка элементов:
Далее можно отсортировать полученный список элементов по необходимым параметрам, например, по имени или дате создания. Для этого можно использовать метод usort и самописную функцию сравнения элементов. Например, для сортировки по имени:

usort($arItems, function($a, $b) {
   return strcmp($a["NAME"], $b["NAME"]);
});

3. Вывод отсортированного списка элементов:
Отсортированный список элементов можно вывести на странице сайта. Для этого можно использовать цикл foreach, выводя каждый элемент в нужном формате. Например:

foreach ($arItems as $arItem) {
   echo $arItem["ID"].": ".$arItem["NAME"]."<br>";
}

Таким образом, вы можете реализовать сортировку по наличию превьюшных изображений в CMS 1C-Bitrix, следуя указанным выше шагам.