Вход • Регистрация

Всего найдено: 2

  • 24 декабря 2012 г.
  • 1. Добавляем весь блок со стилями в файл style.css. внимательно смотрим чтоб названия блоков не пересекались.
    2. В файл шаблона site.php между тегами <head></head> добавляем текст
    Код
    <script type="text/javascript" src="<insert name="path">js/leftmenu/scriptbreaker-multiple-accordion-1.js" charset="UTF-8"></script>
    <script language="JavaScript">

    $(document).ready(function() {
    $(".topnav").accordion({
    accordion:false,
    speed: 500,
    closedSign: '[+]',
    openedSign: '[-]'
    });
    });

    </script>


    3. В нужном Вам месте вашего шаблона вставляете вызов блока
    Код
    <insert name="show_block" module="menu" id="2" template="default">


    4. В файле modules\menu\views\menu.view.show_blok.php на 30-й строке меняем
    echo '<ul class="left_menu_level_1">';
    на
    echo '<ul class="topnav">';

    5. В файле modules\menu\views\menu.view.show_level.php много изменений поэтому я приведу его целиком

    Код
    <?php

    /**
    * Diafan.CMS
    *
    * @author diafan.ru
    * @version 5.1
    * @license http://cms.diafan.ru/license.html
    * @copyright Copyright (c) 2003-2012 OOO "Диафан". (http://diafan.ru)
    */
    if (!defined('DIAFAN'))
    {
    include dirname(dirname(dirname(__FILE__))).'/includes/404.php';
    }

    /**
    * Шаблон вывода первого уровня меню, вызывается из функции show_block в начале файла
    */

    if (empty($result["rows"][$result["parent_id"]]))
    {
    return true;
    }

    // начало уровня меню
    foreach ($result["rows"][$result["parent_id"]] as $row)
    {
    if (!$result["rows"][$result["parent_id"]][0] != $row)
    {
    // разделитель пунктов меню
    }

    if ($row["active"])
    {
    // начало пункта меню для текущей страницы
    // echo '<li class="active">';
    echo '<li class="active">';

    }
    elseif ($row["active_child"])
    {
    // начало пункта меню для активного дочернего пункта
    // echo '<li class="active_child">';
    echo '<li class="active">';
    }
    else
    {
    // начало любого другого пункта меню
    echo '<li>';
    }

    if (
    // на текущей странице нет ссылки, если не включена настройка "Текущий пункт как ссылка"
    (!$row["active"] || $result["current_link"])

    // влючен пункт "Не отображать ссылку на элемент, если он имеет дочерние пункты"
    && (!$result["hide_parent_link"] || empty($result["rows"][$row["id"]]))
    )
    {
    if ($row["othurl"])
    {
    echo '<a href="'.$row["othurl"].'" target="_blank">';
    }
    else
    {
    // если пункт меню имеет дочерние пункты то у главного выводить в сылке #
    if(!empty($result["rows"][$row["id"]]))
    {
    echo '<a href="#">';
    }
    else
    {
    echo '<a href="'.BASE_PATH_HREF.$row["link"].'">';
    }

    }

    }


    //вывод изображения
    if (! empty($row["img"]))
    {
    echo '<img src="'.$row["img"]["src"].'" width="'.$row["img"]["width"].'" height="'.$row["img"]["height"]
    .'" alt="'.$row["img"]["alt"].'" title="'.$row["img"]["title"].'"> ';
    }

    // название пункта меню
    echo $row["name"];
    if (
    // на текущей странице нет ссылки, если не включена настройка "Текущий пункт как ссылка"
    (!$row["active"] || $result["current_link"])

    // влючен пункт "Не отображать ссылку на элемент, если он имеет дочерние пункты"
    && (!$result["hide_parent_link"] || empty($result["rows"][$row["id"]]))
    )
    {
    echo '</a>';
    }


    if ($result["show_all_level"] || $row["active_child"] || $row["active"])
    {
    // вывод вложенного уровня меню
    $menu_data = $result;
    $menu_data["parent_id"] = $row["id"];
    $menu_data["level"]++;

    if (empty($result['attributes']['count_level']) || $result['attributes']['count_level'] >= $menu_data["level"])
    $this->get('show_level_2', 'menu', $menu_data); //ниже функция, которая выводит в цикле пункты второго уровня вложенности.
    }


    if ($row["active"])
    {
    // окончание пункта меню - текущей страницы
    echo '</li>';
    }
    elseif ($row["active_child"])
    {
    // окончание пункта меню для активного дочернего пункта
    echo '</li>';
    }
    else
    {
    // окончание любого другого пункта меню

    echo '</li>';
    }


    }
    // окончание уровня меню


    6. Ну и последнее что надо сделать это админ панели Меню на сайте - Меню - Меню каталог товаров должны стоять галочки на : показывать на сайте, раскрывать все пункты меню, текущий пункт меню как ссылка.

    Ну вот наверно и все. Со стилями в любом случае придется побороться т.к. это у каждого индивидуально.

Новости

  • 18 июня
  • В сборке большое обновление demo-шаблона, дополнительная защита от спама, улучшение YML-импорта и еще много важного и интересного.
  • 24 апреля
  • В новой сборке совершили революцию в структурировании кастомизированной информации в шаблонах, добавили авторегистрацию пользователей, усовершенствовали защиту от спама, актуализировали накопительную скидку, а также улучшили производительность и стабильность работы системы.
  • 12 января
  • После выхода сборки 7.1 мы выпустили уже три патча, в каждом из которых улучшаем административную часть сайта. Сборка DIAFAN.CMS 7.1.3 уже доступна к установке. 

Форум