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

Данные инфоблока

00 голосов
3
Здравствуйте

Создаю контрол состоящий из 3 дропдоунов, которые заполняються инфой из инфоблока:
первый дропдоун - раздел 1,раздел 2,раздел 3;
второй дропдоун - заполняеться в зависимости от выбора в первом дропдоуне , если раздел 1, то
раздел 1.1,раздел 1.2,раздел 1.3
третий дропдоун - заполняеться в зависимости от выбора во втором дропдоуне, если раздел 1.1, то
раздел 1.1.1,раздел 1.1.2,раздел 1.1.3

Не совсем понятно какой код должен быть в component.php, а точнее как возвратить трехмерный массив?
Подскажите пожалуйста примером кода.

Затем уже в template.php использую код который посоветовал оди из посетителей форума,Дмитрий Якинцев(за что большое спасибо):

Код
<script> 
var hash = {101: {10:'Московский Автор',20:'Питерский Автор',30:'Ростовский Автор'}, 
         102: {40:'Немецкий Автор',50:'Американский Автор',60:'Английский Автор'}} 
function f(s) { 
   a = document.getElementById('auth');a.innerHTML = ''; 
   for(i in hash[s.value]) { 
      o = document.createElement('OPTION'); 
      o.innerHTML = hash[s.value][i];o.value = i; 
      a.appendChild(o); 
   } 
} 
</script> 

Тут тоже вопрос: как приобразовать то что получаем из component.php в нечто подобное
var hash = {101: {10:'Московский Автор',20:'Питерский Автор',30:'Ростовский Автор'},
102: {40:'Немецкий Автор',50:'Американский Автор',60:'Английский Автор'}}

Подскажите, если есть другие варианты тоже буду благодарен.
спросил 07 Март, 14 от Kera (280 баллов)

3 Ответы

00 голосов
Цитата
Вадим Плешко пишет:
Тут тоже вопрос: как приобразовать то что получаем из component.php в нечто подобное var hash = {101: {10:'Московский Автор',20:'Питерский Автор',30:'Ростовский Автор'}, 102: {40:'Немецкий Автор',50:'Американский Автор',60:'Английский Автор'}}
json_encode
ответил 18 Авг, 14 от Almarea (3,760 баллов)
00 голосов
Можно упрощённый пример?
ответил 23 Дек, 14 от Kera (280 баллов)
00 голосов
Сделайте
echo json_encode(array('101'=>array('1'=>'one','2'=>'two'),'102'=>array('3'=>'three','4'=>'four')));
Возможно, понятнее станет. Только осторожнее с utf-8.
Преобразовать можно в component.php или если компонент стандартный, то в result_modifier.php
ответил 12 Апр, 15 от Eddie (2,060 баллов)

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

0 голосов
1 ответ
спросил 23 Май, 19 от аноним
0 голосов
1 ответ