49 lines
1.3 KiB
PHP
49 lines
1.3 KiB
PHP
<?php
|
|
namespace app\widget;
|
|
|
|
|
|
use app\model\Category;
|
|
use think\facade\{Db,View, Cache};
|
|
|
|
class Menu
|
|
{
|
|
public function index($categoryId)
|
|
{
|
|
$menus = Cache::get('rules');
|
|
if(empty($menus)){
|
|
$menus = Category::getListForFrontMenu();
|
|
}
|
|
$currentFirstId = 0;
|
|
if (is_numeric($categoryId) && $categoryId > 0) {
|
|
$currentFirstId = Category::firstGradeById($categoryId);
|
|
}
|
|
|
|
//产品菜单
|
|
|
|
$product_children=Category::alias('c')
|
|
->leftJoin('model m', 'c.model_id=m.id')
|
|
->field('c.*, m.manager, m.template, m.name as modelName')
|
|
->where('c.parent_id', 5)
|
|
->order('c.sort','asc')
|
|
->select()
|
|
->toArray();
|
|
|
|
$data = [
|
|
'categoryId' => $categoryId,
|
|
'menus' => $menus,
|
|
'product_children' => $product_children?$product_children:[],
|
|
];
|
|
|
|
|
|
$this_menu= \app\model\Category::alias('c')
|
|
->leftJoin('model m', 'c.model_id=m.id')
|
|
->field('c.*, m.manager, m.name as modelName')
|
|
->when(3, function($query) {
|
|
$query->whereIn('c.id', []);
|
|
})
|
|
->order('sort','asc')
|
|
->select()
|
|
->toArray();
|
|
return View::assign($data)->fetch('public/menu');
|
|
}
|
|
} |