I have started to practice Laravel (PHP Framework) for one of my clients. As a project coordinator and business development manager I mainly focus on bringing more work to my own company and assign the projects to my team of programmers. I have little experience on laravel and could not achieve much in it due to management activities in services.
Well, Lets come to the point. While working on Laravel project, I feel a need to Add a class to body of each web page. Because in website design each page was required in separate color scheme and to achieve this, It was must to add a separate class to every page. All pages were creating dynamically from admin panel.
After little stack overflow searches and readings on google search, I have concluded some perfect solutions in all cases if you ever need to achieve such tasks in Laravel any version.
Add a class to body in Laravel view
There are many ways to add a class to the body of a Laravel view file. This is necessary if you want to add certain functionality to a particular page. The best way to add a class to the body of a Laravel view is to pass the variable class from the child view to the layout file.
Pass variable class from child view to layout
Extending sidebar layout in child view and passing the variable name to the layout.
Display variable name to body class in layout.
You can pass variable class name from the child view (article.blade.php) to the sidebar layout and after that, you can display class to your body in the laravel layout file (sidebar.blade.php) which you are extending in the child view file.
Add class to body using @yield directive in Laravel
Display class name in laravel layout file.
Pass class name using @section directive in child template.
You can add class to the body tag in Laravel view file by passing the class name from the child template (article.blade.php) to the layout template (layouts/sidebar.blade.php) using @section directive and display in layout template using @yield directive.
Add class name to body using current route name
You can pass a class name to the body using current route name in laravel using Route::currentRouteName() in your layout file or child template.
Leave a Reply