I'm trying to transform my primary link menu block in a jquery accordion menu (link text).
I've tested the Accordion Menu module for Drupal, but it does not function for me.
For my Primary Links Block I would have more or less this html output:
<ul id="accordion">
<li>
Recent Entries
<ul id="recent">
<li><span class="date">01.19.2009</span> Recent Entry Title</li>
<li><span class="date">01.15.2009</span> Recent Entry Title</li>
<li><span class="date">01.13.2009</span> Recent Entry Title</li>
<li><span class="date">01.11.2009</span> Recent Entry Title</li>
<li><span class="date">01.10.2009</span> Recent Entry Title</li>
</ul>
</li>
<li>
Recent Entries
</li>
<li>
Popular Entries
<ul id="popular">
<li><span class="date">08.16.2008</span> Popular Entry Title</li>
<li><span class="date">06.12.2008</span> Popular Entry Title</li>
<li><span class="date">04.12.2008</span> Popular Entry Title</li>
<li><span class="date">06.12.2007</span> Popular Entry Title</li>
<li><span class="date">03.12.2007</span> Popular Entry Title</li>
</ul>
</li>
<li>
Categories
<ul id="categories">
<li>Category Name <span class="count">7</span></li>
<li>Category Name <span class="count">4</span></li>
<li>Category Name <span class="count">15</span></li>
<li>Category Name <span class="count">29</span></li>
<li>Category Name <span class="count">8</span></li>
</ul>
</li>
</ul>
I have some primary links with child:
Territory
Map
Gallery
Products
Wine
Glasses
Contacts
Devel Themer Module says that I must override "theme_menu_item" function but I don't know how to proceed. Can I reach my goal only editing this function in the "template.php" file?
I'm sure that jQuery and jQuery UI are working well beacuse I've tested them with the above code in page.tpl.php.
Any ideas?
Thanks
Bye
EDIT
I've read a lot of docs and drupal forums, but I can't find a similar request. I can simply edit only primary links html without child using this code that add id tag to ul
function basic_menu_tree($tree) {
return '<ul id="accordion" class="menu">'. $tree .'</ul>';
}
The problem comes with child ul, in fact the above function add id="accordion" tag also on child ul with bad effect to jquery script
I want to customize only Primary Link menu block html and I can't believe there are no solutions...
Thanks
UPDATE
I've resolved using above function in template.php file and adding a header class through jquery script to primary link parents to setting jquery ui accordion header options (http://jqueryui.com/demos/accordion/#option-header)!
Bye
Overriding theme functions is the most basic thing done in themes.
Short version is, that if you create a function named [theme_name]_menu_item, that function will be used to generate the html instead of the default one: theme_menu_item. So yes this can be done in your template.php.
Note, the changes will affect all menu items, not just the ones in your primary link menu.
Long version
What's a problem to append jquery accordeon to standard primary menu output? There's everything you need for.
Related
How to make work Jquery UI tabs in Wordpress, I added how look's my basic HTML doc and WordPress menu atm. Where do I need to include those ID's '#tabs-1'
index.html
<ul class="menu-nav">
<li>Your Title</li>
<li>About Us</li>
<li>Another Title</li>
</ul>
Wp index.php file
<ul class="menu-nav">
<?php wp_nav_menu(); ?>
</ul>
I suggest to write an own navwalker class. As an example you can take this here: Bootstrap Navwalker for Wordpress. Don't forget to require it once in your functions.php.
Part I
I created a 'static' navigation in my handlebar file for the header (header.hbs - below). I'd like to create this simple, one-level navigation using handlebars (which I'm new too currently). Also would like to add an "active" class based on the page the user is on.
<nav class="left">
<ul>
<li>Home</li>
<li>Products</li>
<li>Find Us</li>
</ul>
</nav>
Part II
I was able to get this working (see answer below). How does one achieve sort-order? Right now the links seem to be in random order.
I should have RTFM :)
There's a whole section in the FAQ for this exact thing, ha! Go figure.
{{#each pages }}
{{#is data.section "main"}}
<li{{#is ../../page.dest this.dest}} class="active"{{/is}}>
{{data.menutitle}}
</li>
{{/is}}
{{/each}}
http://assemble.io/docs/FAQ.html
I've tried to google and read everywhere including here but no comprehensive tutorial can be found about this.
I want to totally change my topbar to something like this
<ul class="nav navbar-nav navbar-right">
<li>
Friends
</li>
<li>
Inbox
</li>
<li>
Dashboard
</li>
<li>
Settings
</li>
<li>
Logout
</li>
<li>
Announcements
</li>
</ul>
I can basically 'hard-code' this in topbar.php but i'm afraid I may not get the links right. Any best practices suggestions out there for this noob?
Elgg is designed to be plugin-centric, so by default it's expected that a lot of plugins may want to tap to main menu. There are three paths to follow:
Use tool in admin panel: Configure -> Appearance -> Menu Items
Unregister unnecessary menu items with elgg_unregister_menu_item and than rearrange them through plugin hook.
Downside of that is that adding new plugins may add unexpected menu items, but pro is that you may easily redistribute your code without worrying about synchronizing settings set via admin panel.
If you want to take control over whole menu rendering process, you'll want to override view navigation/menu/site and use any markup you desire. Links should be absolute. Use elgg_get_site_url() as the base.
I want to display a contextual menu for example in the RedProducts section I want the menu to show:
RedProduct1
RedProduct2
etc, and also the same for BlueProducts, GreenProducts etc when they're selected.
Also it'd be great if these links can display a different class when they're selected. So for example:
<ul>
<li class="link"><a href="/redproduct1" >Red Product 1</a></li>
<li class="current"><a href="/redproduct2" >Red Product 2</a></li>
<li class="link"><a href="/redproduct3" >Red Product 3</a></li>
The Wordpress plugin "Advanced Menu Widget" now does this all for you, very quick and simple, took me ages to find it though.
Hope you are trying to do this. jsfiddle example.
This is how the "contextual menu" works. :) Simply hiding the sub menu and upon clicking the primary menu, it will open with the help of jQuery!
Just apply this to your WordPress menu. Don't forget to include the jQuery library.
See this link for description in practice on Blog link on navigation bar
Have installed the following Blog link on navigation bar of a website all contents of which is contained within the file bcf_site. The Blog script including its index.php is in the bcf_blog file which is in the main site file. This arrangement works fine on the navigation bar with the link to the Blog page as follows.
<li>Blog</li>
To navigate back out of the Blog file back to the webpages requires following this path: default>themes>bcf_blog>bcf_site>relevant .html page link on the navigation.
How should the following site navigation be altered so as to facilitate return to the main site pages:
<div class="topnav">
<ol class="dropnav">
<li>Home</li>
<li>About
<ol>
<li>Community Forum</li>
<li>Administration Committee</li>
<li>Representative Committees</li>
<li>Working Groups</li>
</ol>
</li>
<li>Blog</li>
<li>Assets</li>
<li><a>Issues</a>
<ol>
<li>List 1</li>
<li>List 2</li>
</ol>
</li>
<li>LAPR</li>
<li>Contact</li>
<li>Links</li>
</ol>
</div>
Pfiew. It took me some time to struggle through your question, but my guess is that you just need to add ../ to all the links if you're in bcf_blog - in order to move up one level in the directory structure.
So:
<a href="index.html">
becomes
<a href="../index.html">