76 lines
2.9 KiB
PHP
Executable File
76 lines
2.9 KiB
PHP
Executable File
<?php
|
|
|
|
namespace app\controller;
|
|
|
|
use app\model\{Category, Block, History, Honour, Model as MModel, Article as MArticle, PositionModel};
|
|
use think\response\View;
|
|
|
|
class Page extends Base
|
|
{
|
|
/**
|
|
* @return View|void
|
|
*/
|
|
public function index()
|
|
{
|
|
$rule = $this->request->rule();
|
|
$rule = $rule->getRule();
|
|
$category = Category::getById($this->request->param("category_id"));
|
|
//没有category_id 则通过路由查询
|
|
$category = $category ? $category : Category::getByRuleAlias($rule);
|
|
if ($category) {
|
|
$description = $category['seo_description'] ?: $this->system['seo_description'];
|
|
$keywords = $category['seo_keywords'] ?: $this->system['seo_keywords'];
|
|
$title = $category['seo_title'] ?: $category['title'].' | '.$this->system['seo_title'];
|
|
$this->setSeo($title, $keywords, $description);
|
|
} else {
|
|
$this->redirect('/404.html');
|
|
}
|
|
$childCategory = Category::getChildrenByParentId($category['id']);
|
|
$parentCategory = Category::getById($category['parent_id']);
|
|
$brotherCategory = Category::getChildrenByParentId($category['parent_id']);
|
|
$blocks = Block::getByCategoryId($category['id']);
|
|
$blocks = Block::convertValue($blocks);
|
|
|
|
// 父级单页配置的公共信息
|
|
$parentBlocks = [];
|
|
if (!empty($parentCategory) && $parentCategory['model_id'] == MModel::MODEL_PAGE) {
|
|
$parentBlocks = Block::getByCategoryId($parentCategory['id']);
|
|
$parentBlocks = Block::convertValue($parentBlocks);
|
|
}
|
|
|
|
$this->handleExtraShow($category);
|
|
$this->data['categoryId'] = $category['id'];
|
|
$this->data['category'] = $category;
|
|
$this->data['childCategory'] = $childCategory;
|
|
$this->data['blocks'] = $blocks;
|
|
$this->data['parentBlocks'] = $parentBlocks;
|
|
$this->data['rule'] = $rule;
|
|
$this->data['parentCategory'] = $parentCategory;
|
|
$this->data['brotherCategory'] = $brotherCategory;
|
|
$this->data['bodyClass'] = 'main';
|
|
$this->setExtraBaseConfig();
|
|
|
|
return $this->view($category['template_detail']);
|
|
}
|
|
|
|
// 补充显示的信息
|
|
private function handleExtraShow($category)
|
|
{
|
|
// 关于我们
|
|
if ($category['template_detail'] == 'about') {
|
|
// 发展历程
|
|
$this->data['historyList'] = History::order('sort', 'asc')->select();
|
|
// 荣誉资质
|
|
$this->data['honourList'] = Honour::order('sort', 'desc')->select()->toArray();
|
|
}
|
|
|
|
// 职位发展
|
|
if ($category['alias'] == 'career') {
|
|
// 职位招聘
|
|
$this->data['positionList'] = PositionModel::order('sort', 'desc')
|
|
->where('visible', 1)
|
|
->order('id', 'desc')->select()->toArray();
|
|
}
|
|
}
|
|
|
|
} |