Добро пожаловать на сайт <БагБД>, где вы можете задавать вопросы о программировании и разработке на Битрикс и Битрикс24, и получать быстрые и квалифицированные ответы от профессионалов!

Не выводяться поля пользователя

00 голосов
4
Почему не работает след код. понять не могу

Код
 foreach($arFields['PROPERTY_VALUES'][157] as $key=>$val){
   

                $rsUsers = CUser::GetList(($by="LAST_NAME"), ($order="asc"));
               
                while($rsUsers->NavNext(true, "f_")) :
                    $t1.=$f_ID.'test';

                endwhile;

            }

Вернее код работает, но f_ID не выводится, то есть пустой. В чем может быть дело? Хотя никогда с этим проблем раньше не было.
спросил 14 Июнь, 13 от Titan91 (1,120 баллов)

4 Ответы

00 голосов
Самое интересное, что в init.php этот код не работает, а на других страницах проблем нет. В чем может быть дело? Я использую эту функцию в событии создания элемента.
ответил 14 Июнь, 13 от Titan91 (1,120 баллов)
00 голосов
Как я понял все дело в области видимости. Как решить эту проблему?
ответил 28 Июнь, 13 от Titan91 (1,120 баллов)
00 голосов
видимо в событиях ограничение на код, или не все можно сделать так как хочется.
напишите echo в событии, не всегда работает. а перед событием, работает.
ответил 01 Окт, 13 от VitaliyKR (360 баллов)
00 голосов
Разобрался. Как и предполагал все дело в области видимости переменной.

Вот решение проблемы:

Код
 foreach($arFields['PROPERTY_VALUES'][157] as $key=>$val){
   

          $rsUsers = CUser::GetList(($by="LAST_NAME"), ($order="asc"));
         
          while($rsUsers->NavNext(true, "f_")) :
            
         global $f_ID;
         $t1.=$f_ID.'test';

          endwhile;

      }

То есть переменную $f_ID нужно было объявить глобальной.
ответил 01 Янв, 14 от Titan91 (1,120 баллов)

Похожие вопросы

0 голосов
4 ответов
0 голосов
2 ответов
0 голосов
3 ответов
0 голосов
2 ответов
спросил 01 Июль, 13 от XpoHo3aBp (860 баллов)