Comments (11)
I'm actually working on this feature and will push it up today.
Thanks for the comment :)
from laravel-menu.
That will be great =) just fell in love with you 😝
from laravel-menu.
haha. I'm glad you like the package :)
from laravel-menu.
Yeah, that would be nice. =)
from laravel-menu.
I accomplished this by wrapping my menu in a Route filter, e.g.:
Menu::make('myMenu', function($menu) {
Route::filter('myFilter', function($route, $request) use ($menu) {
// $route is the current route
$someParameter = $route->getParameter('someParameter');
$menu->add('Link', ['route' => ['someRouteName', 'someParameter' => $someParameter]]);
});
});
from laravel-menu.
My solution if maybe somebody else is interested:
$createMenu = function($guestMenu) {
$guestMenu->add(trans('menu.dashboard'), array('route' => 'dashboard'));
$guestMenu->add('Produkte', array('route' => 'dashboard'));
};
$guestMenu = Menu::make('mainNav', $createMenu);
// here is the filter to find the active item
$guestMenu->filter(function($item) {
if(route($item->link->path['route']) == Request::url()) { // but then all items must have a route
$item->active();
}
return true;
});
from laravel-menu.
I did something similar to mnewmedia:
->filter(function($item)
{
// Check if route is active.
if (Request::url() === rtrim($item->url(),'#/'))
{
$item->active();
}
Sometimes I'd like to mark an item as active when the user is in a sub-path so I might adjust this at some point to allow some sort of wildcard matching, but for now this works.
from laravel-menu.
@mnewmedia / @dustingraham - You guys should check out Request::is()
which allows wildcard URL matching.
Example:
Request::is('foo/*');
from laravel-menu.
@leek Yes, I'm using Request::is in another system. It just didn't seem to fall in to place here. We may need another parameter in the menu->add function for active url match or something to that effect.
from laravel-menu.
dev-master
now automatically activates items and all parent nodes according to the current URI
Instead of relying on wildcard URL matching for activating parent nodes, I used Request:path()
and and a recursive function to mark the parent nodes as activated; The reason is that some parent nodes might not have any URL defined.
You can choose which item to be activated (Item or Link) in options.php
which resides in the package config/
directory.
<?php
// ...
'active_element' => 'item', // item|link
// ...
from laravel-menu.
oh what damn fantastic create news =)
from laravel-menu.
Related Issues (20)
- Defining an HTML-Attribute for the HTML A-Tag HOT 1
- components inside prepend HOT 3
- How to call link->attr target on blade? HOT 2
- Active class override HOT 1
- Active link and item classes HOT 4
- BUG active link. Forced https HOT 4
- build menu with nested categories from database HOT 1
- Sorting subitems
- Filtering items: Class "App\Http\Middleware\User" not found HOT 2
- Custom div menu layout
- Multiple Meta Data
- Submenus HOT 1
- Manage menu module wise and display on admin area all menus HOT 1
- In case you are using bootstrap 5 (currently in beta) you need to set the data-toggle-attribute option from data-toggle to data-bs-toggle in your config/laravel-menu/settings.php. HOT 1
- create menus in Laravel 9 HOT 3
- Passing null to parameter #1 ($string) of type string is deprecated .. Menu/Builder.php on line 303 (LF 10 / PHP 8.1) HOT 2
- @lm_attrs directive does not resolved
- how to make menu with icon HOT 1
- Filter on Menu not working HOT 1
- Filter option not working on menus with user role permissions HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from laravel-menu.