Как передать переменную одного компонента в другой?
Добрый день, ломаю себе голову уже несколько недель...
Есть компонент и в нем несколько элементов, в каждом элементе есть форма связи, хочу чтобы в форму связи передавалась переменная от первого компонента. Допустим - это название элемента. Я добился этого через глобальную переменную, но в форму связи передается только название первого элемента. А мне нужно, чтобы у форм было соответствующее название(как у первых элементов)
Anholle, где вызываешь компонент формы, добавь параметр в вызов, что-то типа 'ELEMENT_NAME' => $arItem['NAME']
И внутри шаблона формы через параметры будет доступно значение $arParams['ELEMENT_NAME']
Anholle, капец там нахреначено в этом шаблоне. Из того, что понял все пляшет от переменной $ALX, в начале шаблона она объявлена как $ALX = "FID" . $arParams["FORM_ID"];
Anholle, В корне неверное сделано, в цикле массива одного компонента вы вкорячили вызов другого компонента.
Я бы сделал так:
1) Модальное окно формы обратной связи сделал бы на аяксе с вызовом за пределами цикла массива news.list. Например, на бустрапе, там есть модальное окно аякс, либо на любой другой библиотеке. Просто бустрап уже есть в битриксе, в этом случае экономится лишнее подключение сторонних скриптов и библиотек.
2) В списке news.list я бы в параметре ссылки вызова модального окна передавал бы GET параметр ID элемента. Этот ID будет доступен в файле формы, который будет открыт аяксом. Далее уже обработать и получить по ID можно любое поле или свойство элемента
3) Полученные данные можно использовать в шаблоне компонента bitrix:main.feedback