Форум программистов, компьютерный форум, киберфорум
1С Битрикс
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.92/13: Рейтинг темы: голосов - 13, средняя оценка - 4.92
0 / 0 / 0
Регистрация: 11.11.2016
Сообщений: 3
1

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

11.11.2016, 18:06. Показов 2480. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день. Прошу помощи.

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

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


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

Как добавить свойства товара на плашку поиска?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.11.2016, 18:06
Ответы с готовыми решениями:

Как передать в УТ свойства товара из файла Excel ?
Как я слышал, Типовая обработка «ЗагрузкаДанныхИзТабличногоДокумента.epf» позволяет передать любой...

Как добавить описание характеристик товара?
Доброго дня. Подскажите, возможно ли добавить характеристике товара дополнительное поле...

Как добавить много однотипного товара
Здравствуйте! Столкнулась с задачей быстрого добавления однотипного товара. У меня товары...

Virtuemart 3. Как добавить переменную на страницу товара?
Здравствуйте. Есть мультивендорный магазин Virtuemart 3.0.16. Нужно отобразить название магазина...

4
2700 / 1293 / 253
Регистрация: 16.03.2008
Сообщений: 6,024
Записей в блоге: 2
11.11.2016, 23:01 2
Это можно сделать в шаблоне компонента search.title. второй вариант в обработчике события OnBeforeIndex (но тут уже с нюансами)
0
0 / 0 / 0
Регистрация: 11.11.2016
Сообщений: 3
12.11.2016, 06:38  [ТС] 3
"Это можно сделать в шаблоне компонента search.title"

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

Что я должен написать в search.title что бы вывести свойства товара на плашку?
0
2700 / 1293 / 253
Регистрация: 16.03.2008
Сообщений: 6,024
Записей в блоге: 2
12.11.2016, 08:27 4
Так посмотрите как там появляются свойства толщина и длина - сделайте по аналогии. Вполне возможно они "появляются" в result_modifier.php шаблона этого компонента
0
0 / 0 / 0
Регистрация: 11.11.2016
Сообщений: 3
12.11.2016, 13:05  [ТС] 5
У меня выдается на плашке поиска название_товара и цена. А мне надо еще вывести свойства товара в эту плашку. Пожалуйста прочитайте первый пост в теме, я все расписал и картинку прикрепил.

Добавлено через 15 минут
В search.title у меня написано следующие:

PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
<?if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();
/** @var array $arParams */
/** @var array $arResult */
/** @global CMain $APPLICATION */
/** @global CUser $USER */
/** @global CDatabase $DB */
/** @var CBitrixComponentTemplate $this */
/** @var string $templateName */
/** @var string $templateFile */
/** @var string $templateFolder */
/** @var string $componentPath */
/** @var CBitrixComponent $component */
$this->setFrameMode(true);
 
$INPUT_ID = trim($arParams["~INPUT_ID"]);
if(strlen($INPUT_ID) <= 0)
    $INPUT_ID = "title-search-input";
$INPUT_ID = CUtil::JSEscape($INPUT_ID);
 
$CONTAINER_ID = trim($arParams["~CONTAINER_ID"]);
if(strlen($CONTAINER_ID) <= 0)
    $CONTAINER_ID = "title-search";
$CONTAINER_ID = CUtil::JSEscape($CONTAINER_ID);
 
if($arParams["SHOW_INPUT"] !== "N"):?>
<div id="<?echo $CONTAINER_ID?>" class="bx_search_container">
    <form action="<?echo $arResult["FORM_ACTION"]?>">
        <div class="bx_field">
            <input placeholder="Поиск" id="<?echo $INPUT_ID?>" type="text" name="q" value="<?=htmlspecialcharsbx($_REQUEST["q"])?>" size="23" maxlength="50" autocomplete="off" class="bx_input_text"/>
            <input name="s" type="submit" value="" class="bx_input_submit"/>
        </div>
    </form>
</div>
<?endif?>
<script>
    BX.ready(function(){
        new JCTitleSearch({
            'AJAX_PAGE' : '<?echo CUtil::JSEscape(POST_FORM_ACTION_URI)?>',
            'CONTAINER_ID': '<?echo $CONTAINER_ID?>',
            'INPUT_ID': '<?echo $INPUT_ID?>',
            'MIN_QUERY_LEN': 2
        });
    });
</script>
Добавлено через 8 минут
А в result_modifier.php следующий код:


PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
<?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, но можно по символьному коду?
0
12.11.2016, 13:05
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.11.2016, 13:05
Помогаю со студенческими работами здесь

Как в справочник Номенклатура добавить картинку товара?
Всем привет. Подскажите как в справочник номенклатура добавить картинку товара ?? Нужно добавить...

Как добавить код товара в ценник 1с 7.7 ТиС?
есть готовая программа, только не печатает код товара Перем ПечФирма; Перем ДатаФормированияЦен;...

Как добавить цену товара в мета-описание?
здравствуйте! использую плагины Woocommerce, YeostSEO Подскажите, пожалуйста, как добавить...

Подскажите, как добавить свои свойства?
using Microsoft.Office.Interop.Visio; ... ... ... foreach (Shape shape in shapes) { ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru