275 lines
9.6 KiB
PHP
Executable File
275 lines
9.6 KiB
PHP
Executable File
<?php
|
||
|
||
namespace app\controller\manager;
|
||
|
||
use app\model\{CasesModel, Category, Article, Block, DownloadModel, Log, History, Honour, PositionModel, ProductModel};
|
||
|
||
class Content extends Base
|
||
{
|
||
//文章
|
||
public function article()
|
||
{
|
||
$categoryId = input('param.category_id');
|
||
$keyword = input('param.keyword');
|
||
$param = input('param.param/a', []);
|
||
$category = Category::getById($categoryId);
|
||
if (empty($category)) {
|
||
return $this->error('无此栏目');
|
||
}
|
||
|
||
$isPrev = input('is_prev', '');
|
||
$order = ['top' => 'desc', 'sort' => 'desc'];
|
||
$list = Article::getList($categoryId, 20, $keyword, $param, -1, $order, true, $isPrev);
|
||
$list = Article::convertRecommendOther([$categoryId], $list, true);
|
||
|
||
$this->data['list'] = $list;
|
||
$this->data['category'] = $category;
|
||
$this->data['keyword'] = $keyword;
|
||
$this->data['param'] = $param;
|
||
$this->data['attributeList'] = Article::getAttributeList([$categoryId]);
|
||
return $this->view();
|
||
}
|
||
|
||
//做页面跳转
|
||
public function index()
|
||
{
|
||
$items = Category::getList();
|
||
if (!empty($items)) {
|
||
$items = Category::getCates($items);
|
||
}
|
||
|
||
if (!empty($items)) {
|
||
$first = array_shift($items);
|
||
if (isset($first['children'])) {
|
||
$childrenFirst = array_shift($first['children']);
|
||
$url = url('manager.content/'.$childrenFirst['manager'], ['category_id' => $childrenFirst['id']]);
|
||
} else {
|
||
$url = url('manager.content/'.$first['manager'], ['category_id' => $first['id']]);
|
||
}
|
||
if (!empty($url)) {
|
||
return $this->redirect($url);
|
||
}
|
||
} else {
|
||
return $this->redirect(url('manager.category/add'));
|
||
}
|
||
}
|
||
|
||
//单页
|
||
public function page()
|
||
{
|
||
if ($this->request->isAjax()) {
|
||
$blocks = input('post.block/a'); //所有文本信息
|
||
$texts = input('post.text/a'); //所有富文本信息
|
||
$codes = input('post.code/a'); //所有代码信息
|
||
$categoryId = input('post.category_id/d');
|
||
$category = Category::getById($categoryId);
|
||
unset($_POST['block']);
|
||
unset($_POST['text']);
|
||
unset($_POST['file']);
|
||
unset($_POST['code']);
|
||
$imgs = []; //图片信息
|
||
$videos = []; //视频信息
|
||
$groups = []; //组图信息
|
||
$groupIds = input('post.groupIds/a', []);
|
||
|
||
$videoGroup = []; //视频组信息
|
||
$videoGroupIds = input('post.videoGroupIds/a', []);
|
||
foreach ($_POST as $key => $val) {
|
||
if (strpos($key, '_') !== false) {
|
||
$keys = explode('_', $key);
|
||
if ($keys[1] == 'img') { //图片
|
||
$imgs[$keys[2]] = $val;
|
||
} elseif ($keys[1] == 'video') { //视频
|
||
$videos[$keys[2]][$keys[0]] = $val;
|
||
} elseif ($keys[1] == 'videos') { //视频组
|
||
$videoGroup[$keys[2]] = $val;
|
||
} elseif ($keys[1] == 'group') { //组图
|
||
$groups[$keys[2]] = $val;
|
||
}
|
||
}
|
||
}
|
||
$data = [];
|
||
if (!empty($blocks)) {
|
||
foreach ($blocks as $key => $block) {
|
||
$data[] = [
|
||
'id' => $key,
|
||
'value' => $block
|
||
];
|
||
}
|
||
}
|
||
if (!empty($texts)) {
|
||
foreach ($texts as $key => $text) {
|
||
$data[] = [
|
||
'id' => $key,
|
||
'value' => $text
|
||
];
|
||
}
|
||
}
|
||
if (!empty($codes)) {
|
||
foreach ($codes as $key => $code) {
|
||
$data[] = [
|
||
'id' => $key,
|
||
'value' => $code
|
||
];
|
||
}
|
||
}
|
||
if (!empty($imgs)) {
|
||
foreach ($imgs as $key => $img) {
|
||
$data[] = [
|
||
'id' => $key,
|
||
'value' => $img
|
||
];
|
||
}
|
||
}
|
||
if (!empty($videos)) {
|
||
foreach ($videos as $key => $video) {
|
||
$data[] = [
|
||
'id' => $key,
|
||
'img' => $video['img'],
|
||
'value' => $video['video']
|
||
];
|
||
}
|
||
}
|
||
if (!empty($groupIds)) {
|
||
foreach ($groupIds as $key => $groupId) {
|
||
$group = $groups[$groupId] ?? [];
|
||
$data[] = [
|
||
'id' => $groupId,
|
||
'value' => json_encode($group)
|
||
];
|
||
}
|
||
}
|
||
if (!empty($videoGroupIds)) {
|
||
foreach ($videoGroupIds as $key => $groupId) {
|
||
$group = $videoGroup[$groupId] ?? [];
|
||
$data[] = [
|
||
'id' => $groupId,
|
||
'value' => json_encode($group)
|
||
];
|
||
}
|
||
}
|
||
|
||
$block = new Block;
|
||
$block->saveAll($data);
|
||
Log::write('content', 'page', "单页编辑,栏目ID:{$category['id']} ,标题:{$category['title']}");
|
||
return $this->json();
|
||
} else {
|
||
$categoryId = input('param.category_id');
|
||
$category = Category::getById($categoryId);
|
||
/*
|
||
* 单页栏目允许父级栏目配置,不自动跳转到第一个子栏目
|
||
$children = Category::getChildrenByParentId($categoryId);
|
||
if(!empty($children)){
|
||
$child = Category::getChildrenByParentId($children[0]['id']);
|
||
if(empty($child)){
|
||
$category = $children[0];
|
||
}else{
|
||
$category = $child[0];
|
||
}
|
||
}
|
||
*/
|
||
|
||
if (empty($category)) {
|
||
return $this->redirect(url('manager.content/index'));
|
||
}
|
||
$blocks = Block::getByCategoryId($category['id']);
|
||
$this->data['categoryId'] = $categoryId;
|
||
$this->data['category'] = $category;
|
||
$this->data['blocks'] = $blocks;
|
||
$this->data['groupId'] = session('auth.groupId');
|
||
$this->data['types'] = Block::getTypes();
|
||
return $this->view();
|
||
}
|
||
}
|
||
|
||
// 发展历程
|
||
public function history()
|
||
{
|
||
$categoryId = input('param.category_id/d', 0);
|
||
$category = Category::getById($categoryId);
|
||
if (empty($category)) {
|
||
return $this->redirect(url('manager.content/index'));
|
||
}
|
||
|
||
$this->data['categoryId'] = $categoryId;
|
||
$this->data['category'] = $category;
|
||
$this->data['items'] = History::getPaginateList($categoryId, 20, false);
|
||
return $this->view();
|
||
}
|
||
|
||
// 荣誉资质
|
||
public function honour()
|
||
{
|
||
$categoryId = input('param.category_id/d', 0);
|
||
$category = Category::getById($categoryId);
|
||
if (empty($category)) {
|
||
return $this->redirect(url('manager.content/index'));
|
||
}
|
||
|
||
$this->data['categoryId'] = $categoryId;
|
||
$this->data['category'] = $category;
|
||
$this->data['items'] = Honour::getPaginateList($categoryId, 20, false);
|
||
return $this->view();
|
||
}
|
||
|
||
// 产品
|
||
public function product()
|
||
{
|
||
$categoryId = input('param.category_id/d', 0);
|
||
$category = Category::getById($categoryId);
|
||
if (empty($category)) {
|
||
return $this->redirect(url('manager.content/index'));
|
||
}
|
||
|
||
$this->data['categoryId'] = $categoryId;
|
||
$this->data['category'] = $category;
|
||
$this->data['items'] = ProductModel::getPaginateList($categoryId, 20, false);
|
||
return $this->view();
|
||
}
|
||
|
||
// 下载中心
|
||
public function download()
|
||
{
|
||
$categoryId = input('param.category_id/d', 0);
|
||
$category = Category::getById($categoryId);
|
||
if (empty($category)) {
|
||
return $this->redirect(url('manager.content/index'));
|
||
}
|
||
|
||
$this->data['categoryId'] = $categoryId;
|
||
$this->data['category'] = $category;
|
||
$this->data['items'] = DownloadModel::getPaginateList($categoryId, 20, false);
|
||
return $this->view();
|
||
}
|
||
|
||
// 招聘职位
|
||
public function position()
|
||
{
|
||
$categoryId = input('param.category_id/d', 0);
|
||
$category = Category::getById($categoryId);
|
||
if (empty($category)) {
|
||
return $this->redirect(url('manager.content/index'));
|
||
}
|
||
|
||
$this->data['categoryId'] = $categoryId;
|
||
$this->data['category'] = $category;
|
||
$this->data['items'] = PositionModel::getPaginateList($categoryId, 20, false);
|
||
return $this->view();
|
||
}
|
||
|
||
// 案例
|
||
public function cases()
|
||
{
|
||
$categoryId = input('param.category_id/d', 0);
|
||
$category = Category::getById($categoryId);
|
||
if (empty($category)) {
|
||
return $this->redirect(url('manager.content/index'));
|
||
}
|
||
|
||
$this->data['categoryId'] = $categoryId;
|
||
$this->data['category'] = $category;
|
||
$this->data['items'] = CasesModel::getPaginateList($categoryId, 20, false);
|
||
return $this->view();
|
||
}
|
||
}
|