Ситуация в следующем: Когда товар заканчивается, появляется надпись (нет на складе). Сделал форму "обратной связи" с возможностью уточнения условий заказа с помощью iblock.element.add.form и привязал её к новому инфоблоку. Вопрос: "Как передать данные с catalog.element, т.е. наименование товара, в строку формы?" Чтобы данные о товаре автоматически заполнялись в графе "Наименование товара".
Как я понимаю, необходимо указать при проверке условия в catalog.element
Код
<?if($arResult["CAN_BUY"]):?> //если товар есть в наличии, он помещается в корзину
<?elseif((count($arResult["PRICES"]) > 0) || is_array($arResult["PRICE_MATRIX"])):?> // товара нет в наличии, ссылка на страницу формы. В каком виде её сделать, чтобы она передала наименование товара в форму?
а в форме при открытии наименование товара = $NAME.
$arResult["NAME"] - это примерно, может в твоем случае немного по другому написать надо будет, смотря по контексту.
Сергей спасибо большое! В catalog.element ссылку поставил, данные вроде передаются.
Но когда залез править форму, немного попал в ступор. Привожу дефолтный код компоненты. Буду очень признателен, если подскажите, как можно наименование товара подключить к самой форме. Мои попытки пока не увенчались успехом. Спасибо!
Сергей Курбатов пишет: как я понял передать наименование нужно в первое поле для ввода текста (которое с возможностью прокрутки)?
Передать необходимо в любое текстовое поле, желательно в поле Наименование товара. По всей вероятности надо будет сделать условие. Как сделать передачу наименования хотя бы в любое поле формы? Главное чтобы человеку, перейдя с ссылки товара, не пришлось заново писать наименование товара. Я так понимаю в дефолтном шаблоне описываются все возможные варианты полей. Поэтому и попал в ступор.
по пунктам начну, 1. ссылку формирую с переменной $nametovar (-она будет глобальной и поэтому что бы наверняка не совпала с другими) и уберем из ссылки часть %$% - в нашем случае не нужна она (даже вредна будет)
2. В начале файла шаблона что вы опубликовали объявляем переменную GLOBAL $nametovar
Код
<? GLOBAL $nametovar;?>
<?
if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true) die();
........
3.Далее ниже уже в самой форме находим поле для ввода строки примерно 120 строка(скорее всего в вашем случае именно оно используется) и вписываем вместо <?=$value?> наш код:
Код
<?=$value; if ($propertyID=="ABCDEF") echo $nametovar;?>
и в составе всего кода будет так это выглядеть(это примерно 120 строка кода):
При этом ADCDEF меняем на ID своего свойства "Наименование товара" - думаю в вашем случае это будет номер 23, 44 и т.п. (тот что указан в настройках инфблока в настройке свойств, в первом столбике). В итоге будет проверятся имя ID свойства для которого используется это поле (а оно по циклу для разных своств используется) и если оно используется для свойства "Наименование товара" то туда добавляется переданная в адресе переменная.
1. ссылку формирую с переменной $nametovar (-она будет глобальной и поэтому что бы наверняка не совпала с другими) и уберем из ссылки часть %$% - в нашем случае не нужна она (даже вредна будет)
2. В начале файла шаблона что вы опубликовали объявляем переменную GLOBAL $nametovar
Код
<? GLOBAL $nametovar;?>
<?
if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true) die();
........
3.Далее ниже уже в самой форме находим поле для ввода строки примерно 120 строка(скорее всего в вашем случае именно оно используется) и вписываем вместо <?=$value?>
наш код:
Код
<?=$value; if ($propertyID=="ABCDEF") echo $nametovar;?>
и в составе всего кода будет так это выглядеть(это примерно 120 строка кода):
При этом ADCDEF меняем на ID своего свойства "Наименование товара" - думаю в вашем случае это будет номер 23, 44 и т.п. (тот что указан в настройках инфблока в настройке свойств, в первом столбике).
В итоге будет проверятся имя ID свойства для которого используется это поле (а оно по циклу для разных своств используется) и если оно используется для свойства "Наименование товара" то туда добавляется переданная в адресе переменная.
Выражаю огромную признательность Вам! Спасибо большое! Все заработало!