[英]Hide zones in Orchard CMS
我正在尋找一種在Orchard CMS中的1個特定頁面上隱藏某些區域的方法,我正在使用1.6.1版。
我遇到問題的一些背景-網站上的每個頁面都有Layout.cshtml
文件中定義的頁眉和頁腳。 對於網站上的1頁,我想隱藏由6個區域組成的頁眉和頁腳。 在MVC中,我會添加另一個布局文件並使用嵌套的布局,但是我知道在Orchard中無法做到這一點。
我有一個可以完成任務的解決方案,但是我並不熱衷Layout.cshtml
,因為它涉及將代碼放入Layout.cshtml
文件中,我的解決方案如下
if (Request.Url.PathAndQuery.Contains("register-1"))
{
Model.Header1 = null;
Model.Header2 = null;
Model.Header3 = null;
Model.Header4 = null;
Model.Footer1 = null;
Model.Footer2 = null;
}
再加上像這樣在輸出區域之前進行空檢查
@if (Model.Header1 != null)
{
<div id="layout-banner">
@Zone(Model.Header1)
</div>
}
有沒有一種方法而不必將代碼放入Layout.cshtml
文件中? 還是總有一種更好的方法?
使用一層隱藏小部件,該小部件使用not url("~/register-1")
排除頁面。 放置在此層中的小部件將不會出現在您的register-1頁面上。
您可以為頁面創建替代布局。 如果只有一頁,則使用url替代是合適的。
有關更多的失敗,請查看http://docs.orchardproject.net/Documentation/Alternates
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.