Удалить повторяющиеся строки   •   Online-инструменты
129 просм
0 комм
Поделиться:

Выводим изображения товара в результатах поиска в Bitrix

Довелось мне поработать на одном сайте, который находится на CMS Bitrix. Задача состояла в том, чтобы немного преобразить результаты поиска на сайте. Но проблема была в том, что по умолчанию битриксом не предусмотрен вывод изображений в поиске – а именно они мне и были нужны.

Задача это решается очень просто, и как именно, я сейчас расскажу.

В файле, отвечающем за вид результатов поиска внутри метода foreach (у меня этот был файл template.php в папке /bitrix/templates/название темы/components/bitrix/search.page/.default/), вы используете следующую конструкцию:

<?php
	$get_id_images = GetIBlockElement($arItem["ITEM_ID"]);
	
	$images_tumb = CFile::GetPath($get_id_images["PREVIEW_PICTURE"]);
	$image_full = CFile::GetPath($get_id_images["DETAIL_PICTURE"]);
?>

Переменные $images_tumb и $image_full содержат в себе ссылки на превью и полное изображение соответственно.

Пример вывода изображения:

<?php
	if($images_tumb != "") {
?>

	<img src="<?php echo $images_tumb; ?>">

<?php
	}
?>

Конструкция foreach, в которой я это использовал, выглядела примерно следующим образом:

<?foreach($arResult["SEARCH"] as $arItem):?>
	...
	Вид результатов поиска
	...
<?endforeach;?>

Помимо этого, вы можете создать условие, которое выведет ваше изображение у товаров, где свое изображение отсутствует. Это так называемое no photo.

Для этого строки:

$images_tumb = CFile::GetPath($get_id_images["PREVIEW_PICTURE"]);
$image_full = CFile::GetPath($get_id_images["DETAIL_PICTURE"]);

замените на:

$images_tumb = CFile::GetPath($get_id_images["PREVIEW_PICTURE"]);

if($images_tumb == "") {

	$images_tumb = "/no-photo.jpg"; // Ссылка на ваше изображение

}


$image_full = CFile::GetPath($get_id_images["DETAIL_PICTURE"]);

if($image_full == "") {

	$image_full = "/no-photo.jpg"; // Ссылка на ваше изображение
		
}

Вроде бы все. Остались вопросы – пишите о них в комментариях.

0
комментарий
Оставить комментарий:
Нажимая кнопку «Отправить» вы даете согласие на обработку своих персональных данных.
Ваше Имя
Ваш E-mail
Текст комментария