2017-12-12 21 views
0

내 테마의 구조로 인해 (그리고 내가 과수원에 대해 아주 새롭기 때문에) 면도기 뷰로 위젯을 렌더링해야합니다. 위젯에는 보조 메뉴가 포함되어 있으므로 Layout.cshtml에 배치해야합니다. 이런 식이지만 Model.Navigation 대신 위젯 (또는 메뉴)을 사용하면됩니다.면도기 뷰에서 위젯을 렌더링하는 방법

<div id="MenuH"> 
    @if (Model.Navigation != null) 
     {@Display(Model.Navigation)} 
</div> 

이게 가능합니까?

편집 내 Layout.cshtml "마스터 페이지"의이 섹션에서 보조 메뉴 (또는 위젯)을 표시해야합니다

:

<section class="main-content-zone"> 
<div class="container"> 
    <div class="row row-offcanvas"> 
     <<div class="col-lg-sp-2 col-md-3 col-sm-4" id="bt-sidebar"> 
      <div id="MenuV"> 
       <script type="text/javascript">$("#MenuV").html($("#MenuH nav").parent().html());</script> 
      </div> 
     </div> 
     <div class="col-lg-sp-10 col-md-9 col-sm-8 col-xs-12" id="bt-content" role="main"> 
      <div class="col-xs-12" id="bt-content" role="main"> 
       <div class="card no-margin-top show-overflow"> 
        <div class="row"> 

         @if (Model.Content != null){<div class="col-md-12" runat="server" id="Content">@Display(Model.Content)</div>} 
        </div> 
       </div> 
      </div> 
     </div> 
    </div> 
</div> 

메뉴/위젯은 테마 (내가 테마를 샀다)가 js 스크립트를 삽입하는 곳으로 가야한다.

+0

예, 그렇게 할 수있는 Display.Widget()을 호출하십시오. Orchard는 widget.cshtml이라는 템플릿을 찾을 것입니다. – mberacochea

+0

'위젯 렌더링'을 하시겠습니까? 아니면 모든 코드 위젯을 렌더링 하시겠습니까? 아니면 관리자 ID를 통해 추가 한 위젯을 배치 하시겠습니까? – devqon

+0

@devqon 관리자 UI를 통해 추가 한 위젯 (또는 메뉴)을 의미합니다. –

답변

1

아직 존재하지 않는 새 영역에 위젯을 추가하려는 것 같습니다. 이를 달성하기 위해해야 ​​할 일이 몇 가지 있습니다.

1 위젯을 렌더링 할 위치를 Layout.cshtml에서 찾습니다. 거기에 새로운 영역 이름을 정의합니다

<div class="col-lg-sp-2 col-md-3 col-sm-4" id="bt-sidebar"> 
    <div class="column-left-zone"> 
     @Zone(Model.ColumnLeft) 
    </div> 
</div> 

참고 : 이것은 당신의 Layout.cshtml이 like this 정의하는 기능을 가지고 있다고 가정합니다. 'ColumnLeft'영역을 사용할 수 이제

Zones: Header, Navigation, ..., ColumnLeft 

3 : 그렇지 않다면, 당신은 당신이 관리자 UI를 통해에 위젯을 추가 할 수 있도록 @Display(Model.ColumnLeft)

이 당신의 Theme.txt의 영역을 정의 할 수 있습니다 관리자 UI에서. 관리자 UI의 위젯을 ColumnLeft 영역에 추가하십시오.