Solved

Using Bootstrap and Dynamically Generated Menus

Posted on 2016-09-08
6
17 Views
Last Modified: 2016-09-18
Greetings

I am trying to us Bootstrap with our CMS. Are there any techniques in Bootstrap that allows me to style a dynamically generate menu so that it behaves like one that has been hand coded.

I have tried using jQuery to add and remove classes with limited success.

Thanks



Here is some partial code on the menu structure and classes generated by our CMS:

<ul id="sectionMenuElementID_1" class="ipf-sectionmenu">
        <li id="pageid4949" data-pageid="4949" data-level="1">
          <div><a href="Item 1">Item 1</a></div>
        </li>
        <li id="pageid151" data-pageid="151" class="ipf-parent" data-level="1">
          <div><a href="Item 1">Item 1</a></div>
          <ul>
            <li id="pageid152" data-pageid="152" data-level="2"><a href="Item 1">Item 1</a></li>
            <li id="pageid4869" data-pageid="4869" data-level="2"><a href="Item 1">Item 1</a></li>
          </ul>
        </li>
        <li id="pageid104" data-pageid="104" class="ipf-parent" data-level="1">
          <div><a href="Item 1">Item 1</a></div>
          <ul>
            <li id="pageid105" data-pageid="105" data-level="2"><a href="Item 1">Item 1</a></li>
            <li id="pageid106" data-pageid="106" data-level="2"><a href="Item 1">Item 1</a></li>
            <li id="pageid107" data-pageid="107" data-level="2"><a href="Item 1">Item 1</a></li>
            <li id="pageid4965" data-pageid="4965" data-level="2"><a href="Item 1">Item 1</a></li>
            <li id="pageid5126" data-pageid="5126" data-level="2"><a href="Item 1">Item 1</a></li>
            <li id="pageid11991" data-pageid="11991" data-level="2"><a href="Item 1">Item 1</a></li>
          </ul>
        </li>
        <li id="pageid145" data-pageid="145" class="ipf-parent" data-level="1">
          <div><a href="Item 1">Item 1</a></div>
          <ul>
            <li id="pageid2474" data-pageid="2474" data-level="2"><a href="Item 1">Item 1</a></li>
            <li id="pageid148" data-pageid="148" data-level="2"><a href="Item 1">Item 1</a></li>
            <li id="pageid149" data-pageid="149" data-level="2"><a href="Item 1">Item 1</a></li>
            <li id="pageid1838" data-pageid="1838" data-level="2"><a href="Item 1">Item 1</a></li>
            <li id="pageid4653" data-pageid="4653" data-level="2"><a href="Item 1">Item 1</a></li>
          </ul>
        </li>
0
Comment
Question by:RayBakker
  • 3
  • 3
6 Comments
 
LVL 26

Expert Comment

by:EddieShipman
Comment Utility
Well, it depends on the CMS and how it handles the filling of the templates.
What CMS are you using?
0
 

Author Comment

by:RayBakker
Comment Utility
Greetings

CMS: Active Content Management

I create the templates, css, js, etc. and zip them and upload.

What were you thinking with regards to the filling of templates?

Thanks
0
 
LVL 26

Expert Comment

by:EddieShipman
Comment Utility
"CMS: Active Content Management"
That really doesn't give me enough info to understand how the system handles templates.
Have a link to the vendor?
0
Highfive + Dolby Voice = No More Audio Complaints!

Poor audio quality is one of the top reasons people don’t use video conferencing. Get the crispest, clearest audio powered by Dolby Voice in every meeting. Highfive and Dolby Voice deliver the best video conferencing and audio experience for every meeting and every room.

 

Accepted Solution

by:
RayBakker earned 0 total points
Comment Utility
Greetings

Thanks for you help, but I got it. I added the following code to the bottom of my template.

<script>
      $("#sectionMenuElementID_1").addClass("nav navbar-nav navbar-right");
      $("#sectionMenuElementID_1 li").addClass("dropdown-toggle");
      $("#sectionMenuElementID_1 li a").addClass("dropdown");
      $("#sectionMenuElementID_1 li a").attr("data-toggle","dropdown");
      $("#sectionMenuElementID_1 li ul").addClass("dropdown-menu");
      
      // By default Bootstrap display sub-menu items only on clicking the parent item.
      // The following code displays the sub-menu items on hover.
      $(function(){
            $('.ipf-parent').hover(function() {
                  $(this).addClass('open');
            },
            function() {
                  $(this).removeClass('open');
            });
      });
</script>
0
 
LVL 26

Expert Comment

by:EddieShipman
Comment Utility
Well OK, I thought you meant how to BUILD the menu using your CMS.
0
 

Author Closing Comment

by:RayBakker
Comment Utility
More research and testing I was able to figure it out.
0

Featured Post

What Is Threat Intelligence?

Threat intelligence is often discussed, but rarely understood. Starting with a precise definition, along with clear business goals, is essential.

Join & Write a Comment

Introduction If you're like most people, you have occasionally made a typographical error when you're entering information into an online form.  And to your consternation, the browser remembers the error, and offers to autocomplete your future entr…
CSS is a visual language used to classify objects and define rules about how they should be displayed. CSS skills aren’t restricted to developers anymore, there is a big benefit to having a basic understanding of the language, regardless of your occ…
In this tutorial viewers will learn how add a scalable full-width header using CSS3. Create a new HTML document with an internal stylesheet. Set a tiled background.:  Create a new div and name it Header. Position it with position:absolute at the top…
In this Micro Tutorial viewers will learn how to create a CSS image sprite (In a later tutorial, viewers will learn how to use CSS and HTML to create a navigation menu using this sprite) Open a new Photoshop document with a width of (Icon width)x(N…

772 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

11 Experts available now in Live!

Get 1:1 Help Now