Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Auto-register menus from 'config/menus.php' #28

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

jweston491
Copy link

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's attribute() function, for example:

{% for item in attribute(_context, 'main-nav').items %}
    // Access item.title, item.link, etc.
{% endfor %}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant