32 lines
880 B
PHP
Executable File
32 lines
880 B
PHP
Executable File
<?php
|
|
namespace app\widget;
|
|
|
|
use think\facade\{View, Cache};
|
|
use app\model\Category;
|
|
|
|
class Menu
|
|
{
|
|
public function index($categoryId, $lang = 'cn')
|
|
{
|
|
$menus = Cache::get('front_menus');
|
|
$menus = null;
|
|
if(empty($menus)){
|
|
$menus = Category::getListForFrontMenu();
|
|
Cache::set('front_menus', $menus, 3600 * 12);
|
|
}
|
|
$currentFirstId = 0;
|
|
if (is_numeric($categoryId) && $categoryId > 0) {
|
|
$currentFirstId = Category::firstGradeById($categoryId);
|
|
}
|
|
$data = [
|
|
'categoryId' => $categoryId,
|
|
'menus' => $menus,
|
|
'currentFirstId' => $currentFirstId,
|
|
];
|
|
if ($lang == 'en') {
|
|
return View::assign($data)->fetch('en/public/menu');
|
|
} else {
|
|
return View::assign($data)->fetch('public/menu');
|
|
}
|
|
}
|
|
} |