initLanguage(); // 加载站点配置 $this->loadSiteConfig(); // 初始化导航数据 $this->initNavigation(); } /** * 初始化语言设置 */ protected function initLanguage() { $config = get_addon_config('wwh'); $this->lang = (int)cookie('lang'); $switch_lang = $config['switch_lang']; // 设置默认语言 if (empty($this->lang) && !empty($config['set_lang'])) { $this->lang = $config['set_lang']; cookie('lang', $this->lang); } $this->assign([ 'switch_lang' => $switch_lang, 'lang' => $this->lang ]); } /** * 加载站点配置 */ protected function loadSiteConfig() { $site = Db::name('wwh_config') ->where('lang', $this->lang) ->find(); if (empty($site)) { $this->error('站点配置数据为空'); } $this->assign('site', $site); // 设置模板路径 $this->view->engine->config( 'view_path', $this->view->engine->config('view_path') . $site['template'] . DS ); } /** * 初始化导航数据 */ protected function initNavigation() { // 获取所有正常状态的栏目 $columns = Db::name('wwh_column') ->where('status', 'normal') ->order('weigh desc') ->select(); // 主导航 $navList = array_filter($columns, function($item) { return $item['isnav'] == '1'; }); $navTree = Tree::instance() ->init(collection($navList)->toArray(), 'parent_id') ->getTreeArray(0); $this->assign('nav', $navTree); // 资料下载导航 $fullTree = Tree::instance() ->init(collection($columns)->toArray(), 'parent_id') ->getTreeArray(0); $this->assign('nav2', $fullTree); // 导航ID $navMap = array_column($columns, null, 'id'); $this->assign('navId', $navMap); } }