| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- <?php
- namespace addons\cms\controller;
- use think\facade\Config;
- use think\facade\Db;
- class Cmsbase extends \think\addons\Controller
- {
- protected $cmsConfig = [];
- protected $siteLang = 'cn';
- protected $defaultSiteLang = 'cn';
- protected $langList = [];
- protected $regionList = [];
- protected $siteRegion = [];
- protected function initialize()
- {
- parent::initialize();
- $this->cmsConfig = get_addon_config('cms');
- if (!$this->cmsConfig['web_site_status']) {
- $this->error('站点已经关闭,请稍后访问~');
- }
- $Theme = Config::get('site.theme') ?: 'default';
- Config::set(['view_path' => TEMPLATE_PATH . $Theme . '/cms' . DS], 'view');
- $this->app->bind('think\Paginator', 'addons\cms\paginator\Page');
- $this->initLang();
- }
- protected function initLang()
- {
- $this->langList = Db::name('lang')->where('is_enabled', 1)->order('sort asc,id asc')->select()->toArray();
- $this->regionList = cms_enabled_regions();
- $this->defaultSiteLang = cms_default_lang();
- $this->siteLang = cms_current_lang();
- $this->siteRegion = cms_current_region();
- if ($this->siteLang !== $this->defaultSiteLang) {
- $translate = Db::name('cms_config_data')->where('lang', $this->siteLang)->find();
- if ($translate) {
- foreach (['site_name', 'site_title', 'site_keyword', 'site_description', 'site_logo_light', 'site_logo_dark'] as $field) {
- if (isset($translate[$field]) && $translate[$field] !== '') {
- $this->cmsConfig[$field] = $translate[$field];
- }
- }
- }
- }
- $this->assign('cms_config', $this->cmsConfig);
- $this->assign('site_lang', $this->siteLang);
- $this->assign('default_site_lang', $this->defaultSiteLang);
- $this->assign('site_langs', $this->langList);
- $this->assign('site_regions', $this->regionList);
- $this->assign('site_region', $this->siteRegion);
- }
- }
|