feat: 品牌里程

This commit is contained in:
2025-04-17 15:59:53 +08:00
parent 55f56699e3
commit c83ccee13f
14 changed files with 196 additions and 71 deletions

View File

@@ -0,0 +1,73 @@
<?php
declare (strict_types = 1);
namespace app\index\controller;
use app\index\model\SysBannerItemModel;
use app\index\model\SysBannerModel;
use think\facade\View;
/**
* 关于我们控制器
*/
class AboutUs extends Common
{
/**
* 品牌故事
*/
public function story()
{
// 获取品牌故事banner
$banners = SysBannerItemModel::hasWhere('banner', [
'language_id' => $this->lang_id,
'unique_label' => 'BANNER_67ff632a5f7aa'
])
->type('image')
->enabled(true)
->visible(['id', 'title', 'title_txt_color', 'image', 'desc', 'desc_txt_color', 'link'])
->order(['sort' => 'asc', 'id' => 'desc'])
->select();
View::assign('banners', $banners);
return View::fetch('story');
}
/**
* 品牌里程
*/
public function mileage()
{
$achievement = [];
$events = [];
$development = [];
// 获取品牌里程banner
$banner = SysBannerModel::with(['items'])
->uniqueLabel([
'BANNER_67ff786dc9c8d',
'BANNER_67ff7ef1354cf',
'BANNER_67ff7f37a0b67',
])
->language($this->lang_id)
->enabled(true)
->select();
if (!$banner->isEmpty()) {
$banner_map = [];
foreach ($banner as $v) {
$banner_map[$v->unique_label] = $v;
}
$achievement = $banner_map['BANNER_67ff786dc9c8d']->items->where('status', '=', 1)->toArray();
$events = $banner_map['BANNER_67ff7ef1354cf']->items->where('status', '=', 1)->toArray();
$development = $banner_map['BANNER_67ff7f37a0b67']->items->where('status', '=', 1)->toArray();
// 排序避免关联方法使用order排序bug
array_multisort(array_column($achievement, 'sort'), SORT_ASC, array_column($achievement, 'id'), SORT_DESC, $achievement);
array_multisort(array_column($events, 'sort'), SORT_ASC, array_column($events, 'id'), SORT_DESC, $events);
array_multisort(array_column($development, 'sort'), SORT_ASC, array_column($development, 'id'), SORT_DESC, $development);
}
View::assign('achievement', $achievement);
View::assign('events', $events);
View::assign('development', $development);
return View::fetch('mileage');
}
}