Results 1 to 3 of 3

Thread: Navigation submenu question ^^

  1. #1
    New user
    Join Date
    03-14-13.
    Posts
    1

    Default Navigation submenu question ^^

    Hello, Contao Community First, sorry for my awful english ops:

    1.) Is there a way to put navigation menu in several containers, but level_2 menu shall not inherit this containers? I use nav_default template:

    <ul class="<?php echo $this->level; ?>">
    Code:
    <div id='div1'>
    <div id='div2'>
    
    <?php foreach ($this->items as $item): ?>
    <?php if ($item['isActive']): ?>
    <li class="<?php echo $item['class']; ?>"><span class="<?php echo $item['class']; ?>"><?php echo $item['link']; ?></span><?php echo $item['subitems']; ?>
    <?php else: ?>
    <li<?php if ($item['class']): ?> class="<?php echo $item['class']; ?>"<?php endif; ?>>"<?php if ($item['class']): ?> class="<?php echo $item['class']; ?>"<?php endif; ?><?php if ($item['accesskey'] != ''): ?> accesskey="<?php echo $item['accesskey']; ?>"<?php endif; ?><?php if ($item['tabindex']): ?> tabindex="<?php echo $item['tabindex']; ?>"<?php endif; ?><?php if ($item['nofollow']): ?> rel="nofollow"<?php endif; ?><?php echo $item['target']; ?>><?php echo $item['link']; ?><?php echo $item['subitems']; ?>
    <?php endif; ?>
    <?php endforeach; ?>[/list]
    
    </div>
    </div>
    In this case both level_1 <ul> and level_2 <ul>'s would be in <div1><div2> containers. I need level_2 <ul>'s without any containers.

    2.) When i watch html-code through Firebug, i see <div class="mod_navigation block"> above <ul>. Where i can edit or remove this <div>?

    Thanks :?

  2. #2
    User
    Join Date
    06-20-09.
    Posts
    115

    Default Re: Navigation submenu question ^^

    Hi Devil_John,
    It's very hard to understand what you want to do.

    Here is a link to the wiki that may give you a better idea of the Navigation Module (it's in german, but google translate helps) http://de.contaowiki.org/ModulNavigation

    The principle of navigation creation is this:
    1. you create a Navigation Module and edit settings according to needs in Themes > Edit Frone End Modules
    2. you place the module in the Themes > Edit page layout

    You can edit the Navigation Module to your desire. For example if I wanted two menu's, menu(a) shows only level 1, menu(b) shows from level 2+
    a) show only level 1 menu items = Start level [0], Stop level [1], Hard limit [yes]
    [attachment=2:1c3ifqab]menu-level1-only.png[/attachment:1c3ifqab]
    b) show from level 2 menu items and beyond = Start level [1], Stop level [0], Hard limit [no]
    [attachment=1:1c3ifqab]menu-level2-plus.png.png[/attachment:1c3ifqab]

    These two menus can then be placed within the page layout, in this example Header and Left column
    [attachment=0:1c3ifqab]page-layout.png[/attachment:1c3ifqab]

    You can have as many types of navigation modules as you want, showing the same menus or different menu levels and you can place them anywhere you like without any editing of the php files.

    If you do not want a menu, just remove it it the page layout

    I hope that is a little bit of help
    geung

  3. #3
    Experienced user
    Join Date
    01-12-10.
    Posts
    814

    Default Re: Navigation submenu question ^^

    Devil_john, your example is invalid HTML. For as far as I know an UL can only contain LI. But what you want (I think) is probably to have the child structures outside of their parents, all on the same level. You can do that by copying the template /system/modules/core/nav_default.html5 into the /templates folder, optionally rename it (nav_yourname.html5) and then change the contents into this:
    [code=php:9uabriyj]<span class="syntaxhtml">
    <ul*class="<span class="syntaxdefault"><?php*echo*$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">level</span><span class="syntaxkeyword">;</span><span class="syntaxdefault">*?></span>">
    <span class="syntaxdefault"><?php*foreach*</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">items*as*$item</span><span class="syntaxkeyword">):</span><span class="syntaxdefault">*?>
    <?php*if*</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$item</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'isActive'</span><span class="syntaxkeyword">]):</span><span class="syntaxdefault">*?>
    </span><li*class="<span class="syntaxdefault"><?php*echo*$item</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'class'</span><span class="syntaxkeyword">];</span><span class="syntaxdefault">*?></span>"><span*class="<span class="syntaxdefault"><?php*echo*$item</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'class'</span><span class="syntaxkeyword">];</span><span class="syntaxdefault">*?></span>"><span class="syntaxdefault"><?php*echo*$item</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'link'</span><span class="syntaxkeyword">];</span><span class="syntaxdefault">*?></span></span>
    <span class="syntaxdefault"><?php*else</span><span class="syntaxkeyword">:</span><span class="syntaxdefault">*?>
    </span><li<span class="syntaxdefault"><?php*if*</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$item</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'class'</span><span class="syntaxkeyword">]):</span><span class="syntaxdefault">*?></span>*class="<span class="syntaxdefault"><?php*echo*$item</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'class'</span><span class="syntaxkeyword">];</span><span class="syntaxdefault">*?></span>"<span class="syntaxdefault"><?php*endif</span><span class="syntaxkeyword">;</span><span class="syntaxdefault">*?></span>><?php*echo*$item</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'href'</span><span class="syntaxkeyword">];</span><span class="syntaxdefault">*?></span>"*title="<span class="syntaxdefault"><?php*echo*$item</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'pageTitle'</span><span class="syntaxkeyword">]</span><span class="syntaxdefault">*</span><span class="syntaxkeyword">?</span><span class="syntaxdefault">*$item</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'pageTitle'</span><span class="syntaxkeyword">]</span><span class="syntaxdefault">*</span><span class="syntaxkeyword">:</span><span class="syntaxdefault">*$item</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'title'</span><span class="syntaxkeyword">];</span><span class="syntaxdefault">*?></span>"<span class="syntaxdefault"><?php*if*</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$item</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'class'</span><span class="syntaxkeyword">]):</span><span class="syntaxdefault">*?></span>*class="<span class="syntaxdefault"><?php*echo*$item</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'class'</span><span class="syntaxkeyword">];</span><span class="syntaxdefault">*?></span>"<span class="syntaxdefault"><?php*endif</span><span class="syntaxkeyword">;</span><span class="syntaxdefault">*?><?php*if*</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$item</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'accesskey'</span><span class="syntaxkeyword">]</span><span class="syntaxdefault">*</span><span class="syntaxkeyword">!=</span><span class="syntaxdefault">*</span><span class="syntaxstring">''</span><span class="syntaxkeyword">):</span><span class="syntaxdefault">*?></span>*accesskey="<span class="syntaxdefault"><?php*echo*$item</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'accesskey'</span><span class="syntaxkeyword">];</span><span class="syntaxdefault">*?></span>"<span class="syntaxdefault"><?php*endif</span><span class="syntaxkeyword">;</span><span class="syntaxdefault">*?><?php*if*</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$item</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'tabindex'</span><span class="syntaxkeyword">]):</span><span class="syntaxdefault">*?></span>*tabindex="<span class="syntaxdefault"><?php*echo*$item</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'tabindex'</span><span class="syntaxkeyword">];</span><span class="syntaxdefault">*?></span>"<span class="syntaxdefault"><?php*endif</span><span class="syntaxkeyword">;</span><span class="syntaxdefault">*?><?php*if*</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$item</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'nofollow'</span><span class="syntaxkeyword">]):</span><span class="syntaxdefault">*?></span>*rel="nofollow"<span class="syntaxdefault"><?php*endif</span><span class="syntaxkeyword">;</span><span class="syntaxdefault">*?><?php*echo*$item</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'target'</span><span class="syntaxkeyword">];</span><span class="syntaxdefault">*?></span>><span class="syntaxdefault"><?php*echo*$item</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'link'</span><span class="syntaxkeyword">];</span><span class="syntaxdefault">*?></span>
    <span class="syntaxdefault"><?php*endif</span><span class="syntaxkeyword">;</span><span class="syntaxdefault">*?>
    <?php*endforeach</span><span class="syntaxkeyword">;</span><span class="syntaxdefault">*?>
    </span>[/list]

    <span class="syntaxdefault"><?php*foreach*</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">items*as*$item</span><span class="syntaxkeyword">):</span><span class="syntaxdefault">*?>
    <?php*echo*$item</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'subitems'</span><span class="syntaxkeyword">];</span><span class="syntaxdefault">*?>
    <?php*endforeach</span><span class="syntaxkeyword">;</span><span class="syntaxdefault">*?></span></span>[/code:9uabriyj]
    same goes if you need the .xhtml template. This is a Contao 3 template. I'm not sure if, and how much, it differs from the Contao 2 template. But if you compare this to see what I did the same is easily applied to a Contao 2 default template.

    What I did is moving the subitem call to a second loop of each item at the bottom of the page. So each menu item is processed twice; first time printing out the items, second time printing out subitems. You may want to change the behavior to only to this for the 2 levels you ask for, but I'm sure you can do that yourself!?

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •