Still celebrating National IT Professionals Day with 3 months of free Premium Membership. Use Code ITDAY17

x
?
Solved

Using Bootstrap and Dynamically Generated Menus

Posted on 2016-09-08
6
Medium Priority
?
36 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
  • 3
6 Comments
 
LVL 26

Expert Comment

by:EddieShipman
ID: 41790053
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
ID: 41791563
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
ID: 41792105
"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
Certified OpenStack Administrator Course

We just refreshed our COA course based on the Newton exam.  With 14 labs, this course goes over the different OpenStack services that are part of the certification: Dashboard, Identity Service, Image Service, Networking, Compute, Object Storage, Block Storage, and Orchestration.

 

Accepted Solution

by:
RayBakker earned 0 total points
ID: 41796559
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
ID: 41796740
Well OK, I thought you meant how to BUILD the menu using your CMS.
0
 

Author Closing Comment

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

Featured Post

The top UI technologies you need to be aware of

An important part of the job as a front-end developer is to stay up to date and in contact with new tools, trends and workflows. That’s why you cannot miss this upcoming webinar to explore the latest trends in UI technologies!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

How to build a simple, quick and effective accordion menu using just 15 lines of jQuery and 2 css classes
This article discusses how to implement server side field validation and display customized error messages to the client.
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…
The viewer will learn the benefit of using external CSS files and the relationship between class and ID selectors. Create your external css file by saving it as style.css then set up your style tags: (CODE) Reference the nav tag and set your prop…
Suggested Courses

688 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