Gist: tạo menu settings trong config của Laravel
1 min read

Gist: tạo menu settings trong config của Laravel

Gist: tạo menu settings trong config của Laravel

 

(Note nhanh: bài này dành cho các bạn đang học và làm việc trên Laravel. Siêu ngắn, chỉ để note cho mình và share đi vì thấy nó cũng dzui dzui).

Ai làm Laravel cũng biết: file config của Laravel, ta không chèn được các lệnh trans hay route để lấy ra label tương ứng của ngôn ngữ hoặc URL của route. Lý do đơn giản là file config được load lên ở những thời điểm đầu tiên. Lúc đó các method này chưa sẵn sàng. Tuy nhiên, trong menu structure thì các hàm này cần để dùng. Do đó, cần một chút chích chọt để có thể config được cấu trúc menu trong file config và đọc ra để render ở tầng view.

Mình thấy có package này cũng thú vị: https://github.com/lavary/laravel-menu. Họ support bạn build ra menu structure khá good. Tuy nhiên mình cần thêm vài tính năng về sau, nên viết 1 class nhỏ để extract và build ra menu object từ 1 key nằm trong file config của Laravel.

Gist URL để tham khảo: https://gist.github.com/khoatran/5467624c07002d3274d0

Ghi chú thêm: hàm buildMenuViewObjectFromConfig chỉ có thể được gọi sau khi Laravel đã boot up xong kernel. Do đó, tốt nhất là gọi nó trong  view, Controller hoặc ViewComposer call back.