Esempio n. 1
0
    /**
     * Create a new Navbar instance.
     *
     * @param  string     $brand
     * @param  string     $brand_url
     * @param  array      $menu
     * @param  string     $type
     * @param  bool       $collapsible	
     * @param  array      $attributes 
     * @param  bool  	  $autoroute
     * @return Navbar
     */
    public static function create($brand, $brand_url, $menus, $type = Navbar::STATIC_BAR, $collapsible = false, $attributes = array(), $autoroute = true)
    {
        $attributes = Helpers::add_class($attributes, 'navbar ' . $type);
        //Open navbar containers
        $html = '<div' . HTML::attributes($attributes) . '>';
        $html .= '<div class="navbar-inner"><div class="container">';
        if ($collapsible) {
            $html .= '<a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
				        <span class="icon-bar"></span><span class="icon-bar"></span><span class="icon-bar"></span>
				    </a>';
        }
        $html .= '<a class="brand" href="' . $brand_url . '">' . $brand . '</a>';
        if ($collapsible) {
            $html .= '<div class="nav-collapse">';
        }
        foreach ($menus as $menu) {
            // If is string add to html
            if (is_string($menu)) {
                $html .= $menu;
            } else {
                $attr = isset($menu['attributes']) ? $menu['attributes'] : array();
                $html .= Navigation::unstyled($menu['items'], false, $attr, $autoroute);
            }
        }
        if ($collapsible) {
            $html .= '</div>';
        }
        //close navbar containers
        $html .= '</div></div></div>';
        return $html;
    }
Esempio n. 2
0
 /**
  * Writes the current Navbar
  *
  * @return string A Bootstrap navbar
  */
 public function __toString()
 {
     $attributes = Helpers::add_class($this->attributes, 'navbar ' . $this->type);
     // Open navbar containers
     $html = '<div' . HTML::attributes($attributes) . '>';
     $html .= '<div class="navbar-inner"><div class="container">';
     // Collapsible button if asked for
     if ($this->collapsible) {
         $html .= '
         <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
             <span class="icon-bar"></span>
             <span class="icon-bar"></span>
             <span class="icon-bar"></span>
         </a>';
     }
     // Add brand if one was given
     if ($this->brand) {
         $html .= HTML::link($this->brand['url'], $this->brand['name'], array('class' => 'brand'));
     }
     if ($this->collapsible) {
         $html .= '<div class="nav-collapse">';
     }
     // Prints out menus
     if ($this->menus) {
         foreach ($this->menus as $menu) {
             if (is_string($menu)) {
                 $html .= $menu;
             } else {
                 $attr = array_get($menu, 'attributes', array());
                 $html .= Navigation::unstyled($menu['items'], false, $attr, $this->autoroute);
             }
         }
     }
     if ($this->collapsible) {
         $html .= '</div>';
     }
     // Close navbar containers
     $html .= '</div></div></div>';
     return $html;
 }