Форум русской поддержки Joomla!® CMS
03.12.2016, 23:50:13 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор

Warp7 кто разбирается в выводе меню

 (Прочитано 196 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Ragivort
Живу я здесь
******

Репутация: +48/-2
Offline Offline

Пол: Мужской
Сообщений: 1005


Есть мечта-стоит жить


« : 22.03.2016, 00:10:25 »

Всем привет, шаблон от yoo_master2? на warp7
Я с warp не работал, разбираюсь, не могу никак понять, как там меню выводится, непосредственно ссылки <a>
Конкретно, мне нужно сделать так, чтобы активный пункт меню был не ссылкой, а <span>
в папке yoo_master2\warp\src\Warp\Menu\     5 файлов
Nav.php
Navbar.php
Post.php
Subnav.php
Pre.php

Какой из них ковырять? Файл Subnav.php - наверное, самый интересный в этом плане.
Код:
<?php
/**
* @package   Warp Theme Framework
* @author    YOOtheme http://www.yootheme.com
* @copyright Copyright (C) YOOtheme GmbH
* @license   http://www.gnu.org/licenses/gpl.html GNU/GPL
*/

namespace Warp\Menu;

/**
 * Subnav menu renderer.
 */
class Subnav
{
   /**
    * Process menu
    *
    * @param  object $module
    * @param  object $element
    * @return object
    */
    public function process($module, $element)
    {
        self::_process($module, $element->first('ul:first'));
        return $element;
    }

   /**
    * Helper function
    *
    * @param  object $module
    * @param  object $element
    * @param  integer $level
    */
    protected static function _process($module, $element, $level = 0)
    {
        global $warp;

        // get warp config
        $config = $warp['config'];

        if ($level == 0) {
            $element->attr('class', 'uk-subnav');
        } else {
            $element->addClass('level'.($level + 1));
        }

        foreach ($element->children('li') as $li) {

            // is active ?
            if ($active = $li->attr('data-menu-active')) {
                $active = ' uk-active';
            }



            // is parent ?
            $ul = $li->children('ul');
            $parent = $ul->length ? ' uk-parent' : null;

            // set class in li
            $li->attr('class', sprintf('level%d'.$parent.$active, $level + 1, $li->attr('data-id')));

            // add all options that have a name starting with 'data-'
            foreach ($config->get("menus." . $li->attr('data-id'), array()) as $key => $value) {
                if (strpos($key, 'data-') === 0) {
                    // add an attribute named like the option itself
                    $li->attr($key, $value);
                }
            }

            // set class in a/span
            foreach ($li->children('a,span') as $child) {

                // set image
                if ($image = $li->attr('data-menu-image')) {
                    $child->prepend('<img class="uk-responsive-height" src="'.$image.'" alt="'.$child->text().'" /> ');
                }

                // set icon
                if ($icon = $li->attr('data-menu-icon')) {
                    $child->prepend('<i class="'.$icon.'"></i> ');
                }

                if ($subtitle = $li->attr('data-menu-subtitle')) {
                    $child->append('<div>'.$subtitle.'</div>');
                }
            }

            // process submenu
            if ($ul->length) {
                self::_process($module, $ul->item(0), $level + 1);
            }
        }
    }
}

Может подскажите нормальную документацию? Можно на англ.

Спасибо.
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet