Курс 2016 года “Разработка на UMI.CMS от 0 до готового сайта”

0 Пользователей и 2 Гостей просматривают эту тему.

*

Axiomateria

  • ****
  • 322
  • +5/-0
    • Просмотр профиля
    • Разработка продающих сайтов под ключ по честным ценам
Есть такой теперь модуль "Меню" в системе UMI, который удобный и простой для создания нескольких меню на сайте - допустим, что надо сделать четыре блока меню с ссылками на разные страницы и разделы сайта так ,что бы над каждым блоком был заголовок.

Информация для покупателей:  (заголовок меню)
 - Доставка и оплата (пункт меню)
 - Гарантия                 (пункт меню)
 - Новости                   (пункт меню)
 - Оплата и доставка (пункт меню)

Вопрос в том, как вывести заголовки для этих блоков меню из поля модуля "Название" ?

XML такой по запросу "udata://menu/draw/navisector1" выводится:
<udata xmlns:xlink="http://www.w3.org/TR/xlink" module="menu" method="draw" generation-time="0.014646">
<item rel="page" id="641" is-active="1" is-deleted="0" link="/dostavka_i_oplata/" name="Доставка и оплата">Доставка и оплата</item>
<item rel="page" id="39704" is-active="1" is-deleted="0" link="/garantiya/" name="Гарантия">Гарантия</item>
<item rel="page" id="39730" is-active="1" is-deleted="0" link="/news/" name="Новости">Новости</item>
<item rel="page" id="642" is-active="1" is-deleted="0" link="/contacts/" name="Контакты">Контакты</item>
</udata>
« Последнее редактирование: 16 Мая 2014, 16:46:50 от Axiomateria »

*

ilyar

Вопрос в том, как вывести заголовки для этих блоков меню из поля модуля "Название" ?

Еще не успел попользоваться этим модулем. Могу предположить что авторы не предусмотрели этого, но учитывая что каждое такое меню это объект системы, название можем получить через USel, надо создать  usel/getMenuName.xml

Код: XML [Выделить]

<?xml version="1.0" encoding="utf-8"?>
<!-- usel://getMenuName/{menu_id}/ -->
<selection>
  <target result="objects">
    <type module="menu" method="menu" />
  </target>
  <property name="menu_id" value="{1}"/>
  <limit page="0">1</limit>
</selection>


Используем: usel://getMenuName/navisector1

Не проверял, что получится, теоретически то что надо, напиши о результате.  ;)

*

admin

  • *****
  • 2444
  • +172/-1
    • Просмотр профиля
Вопрос в том, как вывести заголовки для этих блоков меню из поля модуля "Название" ?

Еще не успел попользоваться этим модулем. Могу предположить что авторы не предусмотрели этого, но учитывая что каждое такое меню это объект системы, название можем получить через USel, надо создать  usel/getMenuName.xml


Мы действительно не предусмотрели вывод названия и уже сами с этим столкнулись. Скоро перезальем файлы модуля, которые можно будет скачать на сайте http://domendo.ru/creation/addons/modul_menu/, но надо будет еще с umi.cms согласовать, чтобы они тоже изменили файлы своей версии дистриба, который предоставляется на их сайте.

Сейчас могу предложить заменить файл /classes/modules/menu/class.php (приложил ниже). После чего id  и название меню будут выводиться как атрибуты узла udata
 
« Последнее редактирование: 16 Мая 2014, 17:37:19 от admin »

*

Axiomateria

  • ****
  • 322
  • +5/-0
    • Просмотр профиля
    • Разработка продающих сайтов под ключ по честным ценам
Сейчас могу предложить заменить файл /classes/modules/menu/class.php (приложил ниже). После чего id  и название меню будут выводиться как атрибуты узла udata

то есть возможно будет вытащить в шаблоне "Название" через:  <xsl:value-of select="@name" />

    <xsl:template match="udata[@module = 'menu' and @method = 'draw']|items" mode="navibox_menu">
        <span>
            <xsl:value-of select="@name" />
        </span>
        <ul class="test-menu">
            <xsl:apply-templates select="item" mode="navibox_menu"/>
        </ul>
    </xsl:template>

?

*

admin

  • *****
  • 2444
  • +172/-1
    • Просмотр профиля
да, абсолютно верно

*

PHOENIX-75

  • *
  • 22
  • +3/-0
    • Просмотр профиля
Модуль классный!
Жаль что для версии Lite его нельзя заюзать. Пробовал скачивать  http://domendo.ru/creation/addons/modul_menu/ но при установке выдает запрет на использование этого модуля.
Можно ли его все-таки установить на Lite не переименовывая классы и методы?
Вообще не понятки с этим модулем. На сайте Domendo его можно скачать свободно, а на сайте UMI он исключительно за бабки. И если сравнивать БД для разных лицензий, то явно отсутствует запись о возможности использования этого модуля в версии Lite.
Даниил, может прольете свет на ситуацию с данным модулем?

*

Axiomateria

  • ****
  • 322
  • +5/-0
    • Просмотр профиля
    • Разработка продающих сайтов под ключ по честным ценам
Вскрылся ещё один нюанс:
Среди системных ссылок в модуле есть "Личный кабинет", которая ведёт на http://domen.ru/users/settings/
а хотелось бы что б вела на http://domen.ru/emarket/personal/
так как в случае с  /personal/ пользователю открывается раздел где он может через вкладки "Персональная информация" и "Заказы" не только править свои регистрационные данные, но и заказы просматривать.

*

Axiomateria

  • ****
  • 322
  • +5/-0
    • Просмотр профиля
    • Разработка продающих сайтов под ключ по честным ценам
А вот и файл, который можно подредактировать на тему вопроса путей:
../styles/skins/mac/data/modules/menu/form.modify.xsl

                            <li class="ti">
                                <div class="ti">
                                    <img style="border: 0px none;" alt="&label-menu-page-personal;" title="&label-menu-page-personal;" src="/images/cms/admin/mac/tree/ico_content_.png" class="ti-icon" />
                                    <a class="systemLink" href="{$lang-prefix}/emarket/personal/">
                                        <xsl:apply-templates select="/result" mode="menu_settings" />
                                    </a>
                                </div>
                            </li>
« Последнее редактирование: 06 Июня 2014, 11:38:13 от Axiomateria »

*

admin

  • *****
  • 2444
  • +172/-1
    • Просмотр профиля
место указанно верно, но так как этот модуль передан umi и он при обновлении может перезатирать файлы, то стоит записать обновленный шаблон в ../styles/skins/mac/data/modules/menu/form.modify.custom.xsl