Ejemplo n.º 1
0
 public function compile(array $list = [], $classAttr = '')
 {
     if (empty($list)) {
         $list = $this->list;
     }
     $out = '<ul' . ($classAttr ? ' class="' . $classAttr . '"' : '') . '>';
     foreach ($list as $link => $label) {
         if (is_int($link) and $label == '-') {
             $out .= '<li class="menu-devider"></li>';
         } else {
             $class = '';
             $link = ltrim($link, '/');
             if ($this->isCurrent($link)) {
                 $class = ' class="active"';
             }
             if (is_string($label)) {
                 $out .= '<li' . $class . '>' . anchor($link, $label) . '</li>';
             } else {
                 $attrs = array_set_defaults($label, ['label' => '', 'subs' => []]);
                 $out .= '<li' . $class . '>';
                 $out .= anchor($link, $attrs['label']);
                 $out .= $this->compile($attrs['subs'], 'submenu');
                 $out .= '</li>';
             }
         }
     }
     $out .= '</ul>';
     return $out;
 }
Ejemplo n.º 2
0
/**
 * Twitter Bootstrap Dropdown Button(s)
 *
 * @param   array   $menu_list   List of dropdown menu
 * @param   string  $base_link   Based link to work with
 * @param   array   $attributes  Button attributes
 *
 * @return  string
 */
function twbs_button_dropdown(array $menu_list, $base_link = '', $attributes = array())
{
    $attributes = array_set_defaults($attributes, array('group-class' => '', 'btn-type' => '', 'btn-text' => ''));
    $base_link || ($base_link = base_url());
    if (substr($base_link, -1) != '/') {
        $base_link .= '/';
    }
    $output = '<div class="btn-group ' . $attributes['group-class'] . '">' . '<button type="button" class="btn btn-' . $attributes['btn-type'] . ' dropdown-toggle" data-toggle="dropdown">' . $attributes['btn-text'] . ' <span class="caret"></span>' . '</button>' . '<ul class="dropdown-menu dropdown-menu-right" role="menu">';
    foreach ($menu_list as $link => $title) {
        $output .= twbs_text(anchor($base_link . $link, $title), 'left', 'li');
    }
    $output .= '</ul>' . '</div>';
    return $output;
}