我有一個替代幾乎相同的代碼默認RolesBasedAuthorizationService,除了自定義模塊,將啓用我的自定義模塊時,它會拉動作用從服務而不是從用戶。啓用該服務需要在設置中填寫信息並選中一個框。使用包裝有條件地隱藏編輯用戶頁面上的角色
由於角色使用時,我的自定義模塊(以及功能啓用)代替,我想隱藏編輯用戶頁面上的角色。繼Understanding placement info,我可以用成功隱藏角色列表中我的自定義模塊的placement.info如下:
<Match ContentType="User">
<Place Parts_Roles_UserRoles_Edit="-" />
</Match>
然而,這將隱藏列表每當我模塊的功能啓用。但要啓用的功能是不是所有的已發生的特點做它的魔力 - 複選框也必須檢查(提供開啓基於業務的授權前,輸入所需設置的功能)。因此,與同一塊文檔的持續,我可以創建一個包裝和應用它,像這樣:
<Match ContentType="User">
<Place Parts_Roles_UserRoles_Edit="Content:10;Wrapper=Wrapper_HideIfCondition" />
</Match>
這應該讓我來包裝,像這樣的角色列表:
<div style="display: block">
@Model.Html
</div>
我目前使用display: block
,以確保包裝被稱爲;然而,角色列表消失 - 看起來Orchard沒有找到包裝。該cshtml
文件存在於MyCurrentTheme\Views\Wrapper.HideIfCondition.cshtml
- 我希望把它搬進模塊,但我會等待直到我得到它的默認方式工作(在主題)。
所以我現在的問題是這樣的:我是什麼,以便失蹤獲得包裝被發現和使用?
你牛逼關於管理員中的編輯用戶頁面? – Hazza 2013-05-08 22:47:01
@Hazza:這是正確的。我試圖在該頁面上包裝角色複選框。 – zimdanen 2013-05-09 12:18:28
那麼,它目前無法正常工作的原因是該主題未在管理員中應用。管理員主題是。所以你可以在管理主題中查看你的代碼,然後就可以工作了。最好創建自己的管理主題,如果這是你要去的路線。 – Hazza 2013-05-09 20:07:56