Create this function in the category model file:
---------------------------------------------------------------------------------
<?php public function get_category_hr($cat_id, $selected_cat_id, $level_string) { $select_str=''; if(!$level_string) { $level_string=''; } if ($cat_arr = $this->findAll('category_parent_id=' . $cat_id)) { foreach ($cat_arr as $cat) { $select_str.="<option value={$cat->category_id}"; if($selected_cat_id==$cat->category_id) $select_str.= ' selected'; $select_str.=">{$level_string}{$cat->category_name}</option>"; $select_str.= $this->get_category_hr($cat->category_id, $selected_cat_id, $level_string.'+'); } } else { return false; } return $select_str; } ?>
Call this function like this:
-------------------------------------------
<select name='Categories[category_parent_id]'> <option value='0'>No Parent</option> <?php echo $Categories::model()->get_category_hr(0, $model->category_parent_id, ''); ?> </select>
That should be all.