yii, recursive function to create category sub category hierarchy

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.

Leave a comment

Your email address will not be published. Required fields are marked *