ControllerDesignMenu::getForm PHP Метод

getForm() защищенный Метод

protected getForm ( )
    protected function getForm()
    {
        $data['heading_title'] = $this->language->get('heading_title');
        $data['text_form'] = !isset($this->request->get['menu_id']) ? $this->language->get('text_add') : $this->language->get('text_edit');
        $data['text_enabled'] = $this->language->get('text_enabled');
        $data['text_disabled'] = $this->language->get('text_disabled');
        $data['text_default'] = $this->language->get('text_default');
        $data['text_link'] = $this->language->get('text_link');
        $data['text_module'] = $this->language->get('text_module');
        $data['entry_name'] = $this->language->get('entry_name');
        $data['entry_store'] = $this->language->get('entry_store');
        $data['entry_type'] = $this->language->get('entry_type');
        $data['entry_link'] = $this->language->get('entry_link');
        $data['entry_module'] = $this->language->get('entry_module');
        $data['entry_code'] = $this->language->get('entry_code');
        $data['entry_status'] = $this->language->get('entry_status');
        $data['entry_sort_order'] = $this->language->get('entry_sort_order');
        $data['button_save'] = $this->language->get('button_save');
        $data['button_cancel'] = $this->language->get('button_cancel');
        $data['button_module_add'] = $this->language->get('button_module_add');
        $data['button_remove'] = $this->language->get('button_remove');
        if (isset($this->error['warning'])) {
            $data['error_warning'] = $this->error['warning'];
        } else {
            $data['error_warning'] = '';
        }
        if (isset($this->error['name'])) {
            $data['error_name'] = $this->error['name'];
        } else {
            $data['error_name'] = '';
        }
        $url = '';
        if (isset($this->request->get['sort'])) {
            $url .= '&sort=' . $this->request->get['sort'];
        }
        if (isset($this->request->get['order'])) {
            $url .= '&order=' . $this->request->get['order'];
        }
        if (isset($this->request->get['page'])) {
            $url .= '&page=' . $this->request->get['page'];
        }
        $data['breadcrumbs'] = array();
        $data['breadcrumbs'][] = array('text' => $this->language->get('text_home'), 'href' => $this->url->link('common/dashboard', 'token=' . $this->session->data['token'], true));
        $data['breadcrumbs'][] = array('text' => $this->language->get('heading_title'), 'href' => $this->url->link('design/menu', 'token=' . $this->session->data['token'] . $url, true));
        if (!isset($this->request->get['menu_id'])) {
            $data['action'] = $this->url->link('design/menu/add', 'token=' . $this->session->data['token'] . $url, true);
        } else {
            $data['action'] = $this->url->link('design/menu/edit', 'token=' . $this->session->data['token'] . '&menu_id=' . $this->request->get['menu_id'] . $url, true);
        }
        $data['cancel'] = $this->url->link('design/menu', 'token=' . $this->session->data['token'] . $url, true);
        if (isset($this->request->get['menu_id']) && $this->request->server['REQUEST_METHOD'] != 'POST') {
            $menu_info = $this->model_design_menu->getMenu($this->request->get['menu_id']);
        }
        $data['token'] = $this->session->data['token'];
        $this->load->model('localisation/language');
        $data['languages'] = $this->model_localisation_language->getLanguages();
        if (isset($this->request->post['menu_description'])) {
            $data['menu_description'] = $this->request->post['menu_description'];
        } elseif (isset($this->request->get['menu_id'])) {
            $data['menu_description'] = $this->model_design_menu->getMenuDescriptions($this->request->get['menu_id']);
        } else {
            $data['menu_description'] = array();
        }
        $this->load->model('setting/store');
        $data['stores'] = $this->model_setting_store->getStores();
        if (isset($this->request->post['store_id'])) {
            $data['store_id'] = $this->request->post['store_id'];
        } elseif (!empty($menu_info)) {
            $data['store_id'] = $menu_info['store_id'];
        } else {
            $data['store_id'] = '';
        }
        if (isset($this->request->post['type'])) {
            $data['type'] = $this->request->post['type'];
        } elseif (!empty($menu_info)) {
            $data['type'] = $menu_info['type'];
        } else {
            $data['type'] = '';
        }
        if (isset($this->request->post['link'])) {
            $data['link'] = $this->request->post['link'];
        } elseif (!empty($menu_info)) {
            $data['link'] = $menu_info['link'];
        } else {
            $data['link'] = '';
        }
        if (isset($this->request->post['sort_order'])) {
            $data['sort_order'] = $this->request->post['sort_order'];
        } elseif (!empty($menu_info)) {
            $data['sort_order'] = $menu_info['sort_order'];
        } else {
            $data['sort_order'] = 0;
        }
        if (isset($this->request->post['status'])) {
            $data['status'] = $this->request->post['status'];
        } elseif (!empty($menu_info)) {
            $data['status'] = $menu_info['status'];
        } else {
            $data['status'] = true;
        }
        $this->load->model('extension/extension');
        $data['extensions'] = array();
        // Get a list of installed modules
        $extensions = $this->model_extension_extension->getInstalled('menu');
        // Add all the modules which have multiple settings for each module
        foreach ($extensions as $code) {
            $this->load->language('extension/module/' . $code);
            $module_data = array();
            $modules = $this->model_extension_module->getModulesByCode($code);
            foreach ($modules as $module) {
                $module_data[] = array('name' => strip_tags($module['name']), 'code' => $code . '.' . $module['module_id']);
            }
            if ($module_data) {
                $data['extensions'][] = array('name' => strip_tags($this->language->get('heading_title')), 'code' => $code, 'module' => $module_data);
            }
        }
        if (isset($this->request->post['menu_module'])) {
            $menu_modules = $this->request->post['menu_module'];
        } elseif (isset($this->request->get['menu_id'])) {
            $menu_modules = $this->model_design_menu->getMenuModules($this->request->get['menu_id']);
        } else {
            $menu_modules = array();
        }
        $data['menu_modules'] = array();
        foreach ($menu_modules as $menu_module) {
            $part = explode('.', $menu_module['code']);
            $this->load->language('extension/menu/' . $part[0]);
            $data['menu_modules'][$key][] = array('name' => strip_tags($this->language->get('heading_title')), 'code' => $menu_module['code'], 'sort_order' => $menu_module['sort_order']);
        }
        $data['header'] = $this->load->controller('common/header');
        $data['column_left'] = $this->load->controller('common/column_left');
        $data['footer'] = $this->load->controller('common/footer');
        $this->response->setOutput($this->load->view('design/menu_form', $data));
    }