Bootstrap Navbar Template Conflict

Permalink
So I have a Bootstrap autonav custom template. When I include Bootstrap 3.3.6 js in the footer of my page, the boostrap navbar no longer drops down. When it is not included, the navbar drops down appropriately.

http://trinitytampa.didomidesigns.com...

On the home page, the "About" does not drop down. On the "About Us" page, it does drop down(adding the class "open" to the li).

Using the console, I have noticed that the navbar does not change the aira-expanded="false" to aria-expanded="true" upon clicking with the included Bootstrap 3.3.6 js. Over at stackoverflow, the problem is solved by placing jquery above the bootstrap js. However, the jquery is placed in the header and bootstrap in the footer.

It correctly appropriates the "true" when in mobile view; however not to the dropdown link.

Any ideas?

view.php from the template.
<?php defined('C5_EXECUTE') or die("Access Denied."); ?>
<?php View::getInstance()->requireAsset('javascript', 'jquery');
$navItems = $controller->getNavItems();
/**
 * The $navItems variable is an array of objects, each representing a nav menu item.
 * It is a "flattened" one-dimensional list of all nav items -- it is not hierarchical.
 * However, a nested nav menu can be constructed from this "flat" array by
 * looking at various properties of each item to determine its place in the hierarchy
 * (see below, for example $navItem->level, $navItem->subDepth, $navItem->hasSubmenu, etc.)
 *
 * Items in the array are ordered with the first top-level item first, followed by its sub-items, etc.
 *
 * Each nav item object contains the following information:
 *   $navItem->url        : URL to the page
 *   $navItem->name       : page title (already escaped for html output)

 
ramonleenders replied on at Permalink Reply
ramonleenders
Go to your page_theme.php file of your active theme. Look for the function "registerAssets" (you can read about that here -http://documentation.concrete5.org/developers/designing-for-concret...

Now, within this function you can provide assets. As you say, you want to use the .js file YOU have, not from concrete5. So you must tell the theme you are providing these assets. Like this:

$this->providesAsset('javascript', 'bootstrap/dropdown');
        $this->providesAsset('javascript', 'bootstrap/tooltip');
        $this->providesAsset('javascript', 'bootstrap/popover');
        $this->providesAsset('javascript', 'bootstrap/alert');
        $this->providesAsset('javascript', 'bootstrap/button');
        $this->providesAsset('javascript', 'bootstrap/transition');


Let me know if that worked!
Freckles replied on at Permalink Best Answer Reply
Thank you for pointing me to my page theme! I realized I had a typo (:

public function registerAssets() 
  {
        $this->providesAsset('css', 'bootstrap/*');
      $this->providesAsset('javascript', 'bootstrap/*');
        $this->requireAsset('javascript', 'jquery');
      $this->requireAsset('css', 'font-awesome');
        $this->requireAsset('javascript', 'picturefill');
        $this->requireAsset('javascript-conditional', 'html5-shiv');
        $this->requireAsset('javascript-conditional', 'respond');
   }


Is correct.

I had, in a late night goof, put
$this->providesAsset('js', 'bootstrap/*');

#Fail.