Tất cả các mục đều có phương thức
Active
4,
Active
5 và
Active
6. Hai mục cuối cùng cho phép bạn xác định thủ công xem một mục có đang hoạt động hay không [theo mặc định, tất cả các mục đều không hoạt động]Menu::new[]->add[Link::to['#', 'Active']->setActive[]];
Active
Nếu một mục con đang hoạt động, cha mẹ cũng sẽ được coi là đang hoạt động
Menu::new[]->add[
Menu::new[]
->add[Html::raw['']->setActive[]]
];
Tự động xác định các mục hoạt động
Lớp
Active
7 cũng có một phương thức
Active
5, nhưng nó hoạt động khác với phương thức trên
Active
9 và Menu::new[]->add[
Menu::new[]
->add[Html::raw['']->setActive[]]
];
0. Nó chấp nhận một url hoặc một tham số có thể gọi được và sẽ sử dụng url đó để xác định các mục cơ bản nào đang hoạt độngXác định các mục đang hoạt động bằng một url
Bằng cách cung cấp một url, bạn có thể đặt tất cả các liên kết chứa hoặc bằng url đó là hoạt động. Trộn url tuyệt đối và tương đối cũng không phải là vấn đề
Menu::new[]
->link['/', 'Home']
->link['/about', 'About']
->link['/contact', 'Contact']
->setActive['//example.com/about'];
Home
About
Contact
Nếu url cơ sở của bạn không phải là
Menu::new[]->add[
Menu::new[]
->add[Html::raw['']->setActive[]]
];
1, thì bạn nên cung cấp gốc yêu cầu để cải thiện kết hợp url đang hoạt độngMenu::new[]
->link['/nl/', 'Home']
->link['/nl/about', 'About']
->link['/nl/contact', 'Contact']
->setActive['//example.com/nl/about', '/nl'];
Các phần tử Html sẽ không bao giờ được đặt hoạt động tự động vì chúng không có thuộc tính url chuyên dụng
Gọi
Active
5 bằng một url sẽ duyệt đệ quy qua các menu conXác định các mục đang hoạt động với một Callable
Nếu bạn muốn kiểm soát nhiều hơn đối với mục nào bạn muốn đặt hoạt động, bạn có thể sử dụng hàm có thể gọi trả về giá trị boolean
$menu = Menu::new[]
->link['/', 'Home']
->link['/about', 'About']
->link['/contact', 'Contact']
->setActive[function [Link $link] {
return $link->segment[1] === 'about';
}];
Home
About
Contact
Nếu bạn chỉ muốn lặp lại một loại mục cụ thể, bạn có thể nhập nó vào phần có thể gọi được và nó sẽ bỏ qua các trường hợp khác. Xem Thao tác các mục để biết một số ví dụ
Có thể gọi sẽ không đi qua các menu con. Nếu bạn muốn duyệt sâu hơn, bạn sẽ phải thêm một cuộc gọi
Active
5 theo cách thủ công với một cuộc gọi có thể gọi là gợi ý đánh máy
Active
7Hạng mục hoạt động
Theo mặc định, phần tử cha của các mục đang hoạt động sẽ nhận được một lớp
Menu::new[]->add[
Menu::new[]
->add[Html::raw['']->setActive[]]
];
5. Nếu bạn muốn ghi đè tên lớp, bạn có thể làm như vậy với Menu::new[]->add[
Menu::new[]
->add[Html::raw['']->setActive[]]
];
6Menu::new[]
->setActiveClass['is-active']
->add[Link::to['/', 'Home']->setActive[]];
Active
0Nếu bạn muốn áp dụng lớp tích cực trên
Menu::new[]->add[
Menu::new[]
->add[Html::raw['']->setActive[]]
];
7 thay vì Menu::new[]->add[
Menu::new[]
->add[Html::raw['']->setActive[]]
];
8, hãy gọi phương thức Menu::new[]->add[
Menu::new[]
->add[Html::raw['']->setActive[]]
];
9 khi xây dựng thực đơn của bạn