123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100 |
- <?php
- namespace addons\wwh\controller;
- use think\Db;
- use fast\Tree;
- class Base extends \think\addons\Controller
- {
- /**
- * 初始化控制器
- */
- public function _initialize()
- {
- parent::_initialize();
- // 初始化语言设置
- $this->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);
- }
- }
|