Auto-register menus from 'config/menus.php' #28
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
What does this implement/fix?
Out of the box, Lumberjack only registers one nav menu, "main-nav" in
/config/menus.php
, then manually adds that navigation Menu to the context in/app/Http/Lumberjack.php
.As currently implemented, this doesn't seem very DRY as it requires manually hard-coding the registered menus into the Lumberjack class. This pull request aims to rectify that.
Looking through the docs, I wasn't sure if there's a preferred way to register multiple navigation menus and add them to context, so I tried to build on the current implementation. If there's a better way to register new nav menus and add them to the context, please let me know.
Any other comments?
Twig doesn't like it when you use a dash (
-
) in a variable/attribute name, since Twig will interpret the dash as a minus operator. But registering navigation menus with underscores instead of dashes doesn't seem to be the "WordPress way". So if anyone wanted to use the default "main-nav" in their Twig templates, they'd have to use Twig'sattribute()
function, for example: