THEME MENU
Class ThemeMenu cung cấp các method thao tác với menu
Location
#add
Thêm một menu location
static function ThemeMenu::addLocation($location_key, $label = null);
ThemeMenu::addLocation('main-menu', 'Menu chính');
#Render
Hiển thị menu dựa theo vị trí đã đăng ký
static function ThemeMenu::render($args);
$args (array) một biến mở rộng bao gồm
[theme_location] (string) $location_key đã đăng ký
[walker] (string | default walker_nav_menu) tên class sử dụng để hiển thị menu
[theme_id] (int) Id menu muốn hiển thị, chỉ sử dụng khi không có theme_location
ThemeMenu::render('main-menu');
Menu
#Get Data
Lấy dữ liệu menu
static function ThemeMenu::getData($id);
ThemeMenu::getData(1);
/* Array (
[0] => stdClass Object (
[id] => 50
[name] => Tin tức
[slug] => tin-tuc
[type] => categories
[object_type] => post_categories
[menu_id] => 13
[parent_id] => 0
[object_id] => 1
[child] => Array ()
[data] => Array (
[icon] =>
[target] => _self
)
)
[1] => stdClass Object (
[id] => 51
[name] => Dịch vụ
[slug] => dich-vu
[type] => categories
[object_type] => post_categories
[menu_id] => 13
[parent_id] => 0
[object_id] => 2
[child] => Array ()
[data] => Array (
[icon] =>
[target] =>
)
) */
#Add option
Thêm các dữ liệu tùy biến cho menu item
static function ThemeMenu::addItemOption($module, $args);
$module (string | default menu) module thêm tùy biến. (page, post, ...) mặc định "menu" là thêm vào cho tất cả
$args (array) biến Input tham khảo FormBuilder
ThemeMenu::addItemOption('menu', [ 'field' => 'icon', 'label' => 'Icon', 'type' => 'image']);
ThemeMenu::addItemOption( 'menu', [
'field' => 'target',
'label' => 'Target',
'type' => 'radio',
'single'=> true,
'options' => [
'_self' => 'Mở tại trang',
'_blank' => 'Mở trong tab mới'
],
'level' => 0 //Level hiển thị không điền nếu hiển thị tất cả level
]);
Thuộc tính menu được hỗ trợ từ phiên bản cms 4.5.0