Menus::getList PHP Method

getList() public method

public getList ( $filter, $list_data = [] )
    public function getList($filter, $list_data = array())
    {
        $url = '?';
        $list_data['quantities'] = array('0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10');
        $list_data['show_menu_images'] = $this->config->item('show_menu_images');
        $list_data['menus'] = $this->Menus_model->getList($filter);
        $categories = $this->Categories_model->getCategories();
        $list_data['categories'] = array();
        foreach (sort_array($categories) as $category) {
            if (!empty($filter['filter_category']) and $filter['filter_category'] != $category['category_id']) {
                continue;
            }
            $category_image = '';
            if (!empty($category['image'])) {
                $category_image = $this->Image_tool_model->resize($category['image'], '800', '115');
            }
            $list_data['categories'][$category['category_id']] = array('category_id' => $category['category_id'], 'name' => $category['name'], 'description' => $category['description'], 'priority' => $category['priority'], 'image' => $category_image);
        }
        $list_data['menu_options'] = array();
        $menu_options = $this->Menu_options_model->getMenuOptions();
        foreach ($menu_options as $menu_id => $option) {
            $option_values = array();
            foreach ($option['option_values'] as $value) {
                $option_values[] = array('option_value_id' => $value['option_value_id'], 'value' => $value['value'], 'price' => (empty($value['new_price']) or $value['new_price'] == '0.00') ? $this->currency->format($value['price']) : $this->currency->format($value['new_price']));
            }
            $list_data['menu_options'][$option['menu_id']][] = array('menu_option_id' => $option['menu_option_id'], 'option_id' => $option['option_id'], 'option_name' => $option['option_name'], 'display_type' => $option['display_type'], 'priority' => $option['priority'], 'default_value_id' => isset($option['default_value_id']) ? $option['default_value_id'] : 0, 'option_values' => $option_values);
        }
        $list_data['option_values'] = array();
        foreach ($menu_options as $option) {
            if (!isset($list_data['option_values'][$option['option_id']])) {
                $list_data['option_values'][$option['option_id']] = $this->Menu_options_model->getOptionValues($option['option_id']);
            }
        }
        if ($this->input->get('category_id')) {
            $prefs['base_url'] = site_url('menus?category_id=' . $this->input->get('category_id')) . $url;
        } else {
            $prefs['base_url'] = site_url('menus' . $url);
        }
        $prefs['total_rows'] = $this->Menus_model->getCount($filter);
        $prefs['per_page'] = $filter['limit'];
        $this->load->library('pagination');
        $this->pagination->initialize($prefs);
        $list_data['pagination'] = array('info' => $this->pagination->create_infos(), 'links' => $this->pagination->create_links());
        return $list_data;
    }

Usage Example

 function getMenu()
 {
     $listMenusTMP = Menus::getList();
     $listMenus = array();
     if (!empty($listMenusTMP)) {
         foreach ($listMenusTMP as $lm) {
             if ($lm['parent_id'] == 0) {
                 $listMenus[$lm['id']] = $lm;
             }
         }
         foreach ($listMenusTMP as $lm) {
             if ($lm['parent_id'] != 0) {
                 $listMenus[$lm['parent_id']]['children'][] = $lm;
             }
         }
     }
     return $listMenus;
 }