2012-07-19 93 views
4

我試過尋找這個答案,但沒有解決方案似乎顯示如何修改頁腳。我在主題的視圖中看到此:修改在果園的頁腳CMS

<div id="footer-sig" class="group"> 
     @Zone(Model.Footer) 
    </div> 

如何修改Model.Footer?我有從Web安裝程序安裝的發行版本,它似乎沒有控制器或模型,只是視圖。我如何修改頁腳?

例如,我只是想把一個「|」在儀表板和其他鏈接之間。

回答

9

如果您還沒有這樣做,那麼可能需要閱讀關於customising Orchard themes的一些背景。

這很大程度上取決於您想要更改的約Model.Footer。假設您使用TheThemeMachine主題,您發佈的代碼片段包含在Layout.cshtml中。如果你看得更遠了源代碼,你會看到的片段:

WorkContext.Layout.Footer.Add(New.BadgeOfHonor(), "5"); // Powered by Orchard 
WorkContext.Layout.Footer.Add(New.User(), "10"); // Login and dashboard links 

這是告訴果園旋轉了兩個新的形狀,頁腳(BadgeOfHonorUser)的一部分。

BadgeOfHonor形狀只是呈現視圖被捆綁到TheTimeMachine主題,因此可以很容易地更改。

User形狀在覈心中具有默認視圖,並呈現頁腳的「歡迎XXX /登錄」元素。這可以通過你的主題以通常的烏節路來覆蓋。

從您的評論,這聽起來像你想改變TheThemeMachine頁腳,使而不是說:

Powered by Orchard © The Theme Machine 2010. Welcome, admin! Sign Out Dashboard 

它說:

Powered by Orchard © The Theme Machine 2010. Welcome, admin! Sign Out | Dashboard 

您可以通過覆蓋在果園意見在您的主題中創建適當的視圖。因此,要改變呈現User形狀的方式,只需將視圖添加到主題並對其進行修改即可。最簡單的方法是去查找現有的視圖並將其複製到您的主題中,這會爲您提供一些工作。在這種情況下,需要將文件src \ Orchard.Web \ Core \ Shapes \ Views \ User.cshtml複製到文件夾src \ Orchard.Web \ Themes \ TheThemeMachine \ Views \ User.cshtml(假設你正在修改TheThemeMachine)。然後,你就只需要更改此代碼:

<span class="user-actions"> 
     @Html.ActionLink(T("Sign Out").ToString(), "LogOff", new { Controller = "Account", Area = "Orchard.Users", ReturnUrl = Context.Request.RawUrl }, new { rel = "nofollow" }) 
     @if (AuthorizedFor(Orchard.Security.StandardPermissions.AccessAdminPanel)) { 
      @Html.ActionLink(T("Dashboard").ToString(), "Index", new {Area = "Dashboard", Controller = "Admin"}) 
     } 
    </span> 

弄成這個樣子:

<span class="user-actions"> 
     @Html.ActionLink(T("Sign Out").ToString(), "LogOff", new { Controller = "Account", Area = "Orchard.Users", ReturnUrl = Context.Request.RawUrl }, new { rel = "nofollow" }) 
     | 
     @if (AuthorizedFor(Orchard.Security.StandardPermissions.AccessAdminPanel)) { 
      @Html.ActionLink(T("Dashboard").ToString(), "Index", new {Area = "Dashboard", Controller = "Admin"}) 
     } 
    </span> 

一般情況下,這是一個好主意,你自己一個主題的副本進行工作,而不是直接修改那些隨分發而來的,這會讓你在更新時更容易。同樣值得關注的是ShapeTracing模塊,它允許您確定需要覆蓋哪些形狀來更改網站上的不同元素。 Orchard.Net頁面上的文檔確實包含了一些有用的信息(儘管它可能會過時一些,因爲開發仍然很快),所以值得一讀。

+0

它怎麼可以過度?我是新來的果園。比如,我只想把一個「|」在儀表板和其他鏈接之間。謝謝。 – user1477388 2012-07-20 13:58:10

+0

@ user1477388:我在答案中增加了更多信息。 http://docs.orchardproject.net/Documentation/Writing-a-new-theme和http://docs.orchardproject.net/Documentation/Accessing-and-rendering-shapes在一些背景下都值得一讀。 – forsvarir 2012-07-20 14:22:34

+0

夢幻般的答案!非常感謝! – user1477388 2012-07-20 14:46:14

1

一個簡單的辦法是探索您的網站的文件,並找到〜\主題[ThemeNameOverHere] \查看\ BadgeOfHonor.cshtml
該礦這有它的內容,你可以輕鬆地編輯: @T(「技術Orchard「,」http://www.orchardproject.net「)@T(」© The Theme Machine 2010.「)

注意:我正在使用Orchard 1.9.1版本。 希望這是有用的。