Как добавить свойства товара на плашку поиска?

Автор Тема: Как добавить свойства товара на плашку поиска?  (Прочитано 2188 раз)

Оффлайн Антон ПолунинАвтор темы

  • Бизнес оценка: (0)
  • Дебютант
  • *
  • СПАСИБО: 0
  • Сообщений: 1
  • Карма: 0

Оффлайн Антон ПолунинАвтор темы

  • Дебютант
  • *
Добрый день. Прошу помощи.

У меня есть свойства товара:
ID   Название          Символьный код
47   Толщина металла      tmm
48   Длина листа         dll

Когда я забиваю в строке поиска название товара, то появляется Название_товара + Цена_товара[значение] (прикрепляю картинку)

Как можно сделать что бы на плашке поиска высвечивалась информация вида
Название_товара + Цена_товара[значение] + Толщина_металла[значение] + Длина_листа[значение]
?

Добавлено: 12-11-2016, 13:16:14

Что и куда мне нужно дописать, что бы вывести на плашку поиска свойство товара лучше по ID, но можно по символьному коду?


Фаил result_modifier.php содержит код:



<?if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true) die();

$PREVIEW_WIDTH = intval($arParams["PREVIEW_WIDTH"]);
if ($PREVIEW_WIDTH <= 0)
   $PREVIEW_WIDTH = 75;

$PREVIEW_HEIGHT = intval($arParams["PREVIEW_HEIGHT"]);
if ($PREVIEW_HEIGHT <= 0)
   $PREVIEW_HEIGHT = 75;

$arParams["PRICE_VAT_INCLUDE"] = $arParams["PRICE_VAT_INCLUDE"] !== "N";

$arCatalogs = array();
if (CModule::IncludeModule("catalog"))
{
   $rsCatalog = CCatalog::GetList(array(
      "sort" => "asc",
   ));
   while ($ar = $rsCatalog->Fetch())
   {
      if ($ar["PRODUCT_IBLOCK_ID"])
         $arCatalogs[$ar["PRODUCT_IBLOCK_ID"]] = 1;
      else
         $arCatalogs[$ar["IBLOCK_ID"]] = 1;
   }
}

$arResult["ELEMENTS"] = array();
$arResult["SEARCH"] = array();
foreach($arResult["CATEGORIES"] as $category_id => $arCategory)
{
   foreach($arCategory["ITEMS"] as $i => $arItem)
   {
      if(isset($arItem["ITEM_ID"]))
      {
         $arResult["SEARCH"][] = &$arResult["CATEGORIES"][$category_id]["ITEMS"][$i];
         if (
            $arItem["MODULE_ID"] == "iblock"
            && array_key_exists($arItem["PARAM2"], $arCatalogs)
            && substr($arItem["ITEM_ID"], 0, 1) !== "S"
         )
         {
            $arResult["ELEMENTS"][$arItem["ITEM_ID"]] = $arItem["ITEM_ID"];
         }
      }
   }
}

if (!empty($arResult["ELEMENTS"]) && CModule::IncludeModule("iblock"))
{
   $arConvertParams = array();
   if ('Y' == $arParams['CONVERT_CURRENCY'])
   {
      if (!CModule::IncludeModule('currency'))
      {
         $arParams['CONVERT_CURRENCY'] = 'N';
         $arParams['CURRENCY_ID'] = '';
      }
      else
      {
         $arCurrencyInfo = CCurrency::GetByID($arParams['CURRENCY_ID']);
         if (!(is_array($arCurrencyInfo) && !empty($arCurrencyInfo)))
         {
            $arParams['CONVERT_CURRENCY'] = 'N';
            $arParams['CURRENCY_ID'] = '';
         }
         else
         {
            $arParams['CURRENCY_ID'] = $arCurrencyInfo['CURRENCY'];
            $arConvertParams['CURRENCY_ID'] = $arCurrencyInfo['CURRENCY'];
         }
      }
   }

   $obParser = new CTextParser;

   if (is_array($arParams["PRICE_CODE"]))
      $arResult["PRICES"] = CIBlockPriceTools::GetCatalogPrices(0, $arParams["PRICE_CODE"]);
   else
      $arResult["PRICES"] = array();

   $arSelect = array(
      "ID",
      "IBLOCK_ID",
      "PREVIEW_TEXT",
      "PREVIEW_PICTURE",
      "DETAIL_PICTURE",
   );
   $arFilter = array(
      "IBLOCK_LID" => SITE_ID,
      "IBLOCK_ACTIVE" => "Y",
      "ACTIVE_DATE" => "Y",
      "ACTIVE" => "Y",
      "CHECK_PERMISSIONS" => "Y",
      "MIN_PERMISSION" => "R",
   );
   foreach($arResult["PRICES"] as $value)
   {
      $arSelect[] = $value["SELECT"];
      $arFilter["CATALOG_SHOP_QUANTITY_".$value["ID"]] = 1;
   }
   $arFilter["=ID"] = $arResult["ELEMENTS"];
   $rsElements = CIBlockElement::GetList(array(), $arFilter, false, false, $arSelect);
   while($arElement = $rsElements->Fetch())
   {
      $arElement["PRICES"] = CIBlockPriceTools::GetItemPrices($arElement["IBLOCK_ID"], $arResult["PRICES"], $arElement, $arParams['PRICE_VAT_INCLUDE'], $arConvertParams);
      if($arParams["PREVIEW_TRUNCATE_LEN"] > 0)
         $arElement["PREVIEW_TEXT"] = $obParser->html_cut($arElement["PREVIEW_TEXT"], $arParams["PREVIEW_TRUNCATE_LEN"]);

      $arResult["ELEMENTS"][$arElement["ID"]] = $arElement;
   }
}

foreach($arResult["SEARCH"] as $i=>$arItem)
{
   switch($arItem["MODULE_ID"])
   {
      case "iblock":
         if(array_key_exists($arItem["ITEM_ID"], $arResult["ELEMENTS"]))
         {
            $arElement = &$arResult["ELEMENTS"][$arItem["ITEM_ID"]];

            if ($arParams["SHOW_PREVIEW"] == "Y")
            {
               if ($arElement["PREVIEW_PICTURE"] > 0)
                  $arElement["PICTURE"] = CFile::ResizeImageGet($arElement["PREVIEW_PICTURE"], array("width"=>$PREVIEW_WIDTH, "height"=>$PREVIEW_HEIGHT), BX_RESIZE_IMAGE_PROPORTIONAL, true);
               elseif ($arElement["DETAIL_PICTURE"] > 0)
                  $arElement["PICTURE"] = CFile::ResizeImageGet($arElement["DETAIL_PICTURE"], array("width"=>$PREVIEW_WIDTH, "height"=>$PREVIEW_HEIGHT), BX_RESIZE_IMAGE_PROPORTIONAL, true);
            }
         }
         break;
   }

   $arResult["SEARCH"][$i]["ICON"] = true;
}




Что и куда мне нужно дописать, что бы вывести на плашку поиска свойство товара лучше по ID, но можно по символьному коду?
« Последнее редактирование: 12-11-2016, 13:16:14 от Антон Полунин »


 

Похожие темы

  Тема / Автор Ответов Последний ответ
4 Ответов
2253 Просмотров
Последний ответ 11-08-2011, 17:51:32
от Tedi
1 Ответов
2128 Просмотров
Последний ответ 06-02-2012, 22:15:36
от Владимир75
2 Ответов
1508 Просмотров
Последний ответ 07-07-2012, 15:43:05
от [Константин]
2 Ответов
1177 Просмотров
Последний ответ 12-12-2012, 21:58:59
от Clever
23 Ответов
4038 Просмотров
Последний ответ 09-10-2015, 13:29:47
от KNAUF