что бы проверить я записываю переменную в поле в настройках модуля битрикс Option::set($module_id, 'sssss', $selected_cat );. вывести через print_r не получиться.
В комментариях вроде всё понятно. Цикл 1 проходит и записывает переменную, а на 2 цикле она пустая больше в коде я нигде не испольщую такую переменную $selected_cat. Вообще не могу понять как такое возможно.
Условие " if ($arOption[0] == 'start_load_product') {" выполняется на второй интерации, а if ($arOption[0] == 'select_cat') { на первой.
$selected_cat = 1111; // если тут прописать переменную, то выводит её значение которое тут
foreach ($aTabs as $aTab) {
foreach ($aTab['OPTIONS'] as $key => $arOption) {
if ($request['apply']) {
$optionValue = $request->getPost($arOption[0]);
if ($arOption[0] == 'select_cat') {
$selected_cat = $optionValue;
Option::set($module_id, 'qqqqq', $key );/// выводит 1
}
Option::set($module_id, 'sssss', $selected_cat );// выводит переменную
if ($arOption[0] == 'start_load_product') {
echo $key; // выводит 2
Option::set($module_id, 'qqqqq', $key );// выводит 2
Option::set($module_id, 'sssss', $selected_cat );// переменная пустая
}
}
}
}