Настройка всей разметки для зоны навигации orchard cms

Последние пару дней я искал файлы в Orchard, где я могу настроить разметку, используемую для навигации.

Перемещение по дереву в Designer Tool и просмотр шаблона и представлений HTML не помогает увидеть, как MenuItemLink отображает <li> в представлении HTML, но ничто не отображает его в представлении шаблона. Так что я совсем запутался.

Исходная разметка выглядит так (взято из Designer Tools Zone [Navigation]):

<div class="zone zone-navigation">
    <article class="widget-navigation widget-menu-widget widget">
        <nav>
            <ul class="menu menu-main-menu">
                <li class="first">
                    <a href="/Orchard/work">Work</a>
                </li>
            </ul>
        </nav>
    </article>
</div>

На самом деле мне нужно настроить классы для элементов <ul> и <li>. Если возможно, я хотел бы иметь возможность настроить все это так, чтобы мне, например, не понадобился <div class="zone zone-navigation">.

Но возможно ли это?


person mackwerk    schedule 22.04.2013    source источник
comment
вы смотрели на это или это?   -  person Mohammad Sepahvand    schedule 23.04.2013
comment
Да, ни один из ваших ответов не объясняет, как получить доступ к элементу <li>, хотя они очень информативны :)   -  person mackwerk    schedule 23.04.2013
comment
Если вы попытаетесь сделать то, что я там объяснил, вы наткнетесь на то, как визуализируются <li>. Прямо под Menu.cshtml есть MenuItem.cshtml, который вы можете изменить.   -  person Mohammad Sepahvand    schedule 23.04.2013
comment
Спасибо :) Я думаю, я смотрел на него слишком долго!   -  person mackwerk    schedule 23.04.2013


Ответы (1)


  • <li> элемент визуализируется MenuItem фигурой (Core\Shapes\MenuItem.cshtml)
  • <nav> и верхние <ul> элементы визуализируются Menu фигурой (Core\Shapes\Menu.cshtml)
  • <a> элемент визуализируется MenuItemLink фигурой (Core\Shapes\MenuItemLink.cshtml)

Если вы хотите переопределить значения по умолчанию, просто поместите соответствующие файлы Menu.cshtml, MenuItem.cshtml или MenuItemLink.cshtml в свою тему (или лучше - скопируйте файлы по умолчанию и измените). Тогда они будут использоваться вместо стандартных, о которых я писал выше.

person Piotr Szmyd    schedule 23.04.2013