- Автор темы
- #1
уже 4 дня решаю задачу. Продвижение жутко медленное.
Задача: вывести категории из кэша в виде чекбоксов. Но чтобы каждый уровень чекбоксов имел свой стиль, чтобы потом выстроить как древовидное меню со смещением и т.п. (CSS).
Это я сделал.
Но нужно еще: если у категории есть вложенные, то сделать именно ее неактивной для выбора чекбоксом (disabled), а чтобы выбирались только конечные, у которых нет вложенных. Вот с этим глухо...
то, что я уже сделал (функция по формированию массива с HTML кодом всех чекбоксов
Задача: вывести категории из кэша в виде чекбоксов. Но чтобы каждый уровень чекбоксов имел свой стиль, чтобы потом выстроить как древовидное меню со смещением и т.п. (CSS).
Это я сделал.
Но нужно еще: если у категории есть вложенные, то сделать именно ее неактивной для выбора чекбоксом (disabled), а чтобы выбирались только конечные, у которых нет вложенных. Вот с этим глухо...
то, что я уже сделал (функция по формированию массива с HTML кодом всех чекбоксов
PHP:
public function print_tree_cat_by_id( $arr_cat, $id_cat = 0 /*родитель*/, $arr_cat_id = false, $i = 1 /*счетчик уровней вложенности*/){
if( is_array( $arr_cat ) ){
foreach( $arr_cat as $cat){
if( $cat['parentid'] == $id_cat ){
$arr_cat_id[] = '<label class="cat_checkbox_'. $i .'"><input type="checkbox" value="' . $cat['id'] . '" name="" /> ' . $cat['name'] . ' </label><br />';
$res_req = $this->print_tree_cat_by_id( $arr_cat, $cat['id'], $arr_cat_id, ++$i );
if( count($res_req) ){
$arr_cat_id = $res_req;
$i--;
}
}
}
}
else return false;
return $arr_cat_id;
}