我試圖有條件地從其驅動程序中取消部件。我基本上有邏輯,如果遇到,應該顯示小部件,如果沒有,應該抑制它。該小部件從當前頁面內容項加載屬性,並基於某些屬性顯示或隱藏。我有所有的邏輯工作,唯一剩下的部分是壓制實際輸出。Orchard CMS有條件地隱藏小部件並取消區域
我試着返回null從司機,然而,這只是輸出一個空的小部件(其包裝)。我如何從視圖中完全刪除小部件?
最後,如果沒有任何條件小部件顯示,則此小部件所在的區域應該禁止。
這種類型的靈活性可能在果園嗎?最好從我的自定義模塊不是我的主題,我試圖從樣式中分離功能。
編輯:
這裏是我的情況,我試圖完成的上下文。我確信在Orchard內部有一種更簡潔的方式,比我天真地設計第一個復飛:我的客戶的撰稿人標籤頁(他們認爲合適)(使用標籤模塊/部分)。我已經創建了2個自定義內容類型,「推薦」和「優惠」,這兩種自定義內容類型都包含其他屬性中的標籤[這些由不同的撰稿人團隊管理]。
在網站的最「內頁」(我用一個層來確定合適的頁面),頁面的側邊欄得到一個「推薦」窗口小部件和「要約」窗口小部件。這些部件都運行相同的應用,但互不影響:
他們抓取當前頁面的標籤,然後拉一個隨機[見證|報價]有任何匹配的標籤爲好。有4種情況可以在給定任何內部頁面的情況下發生:顯示證言並且報價被隱藏(證言標籤匹配,報價標籤沒有),證言被隱藏並且報價被顯示,證言和報價顯示,最後都不顯示。前3個用例運行良好,第4個是我遇到的困難,因爲即使這兩個小部件都沒有(從它們各自的驅動程序返回null),邊欄[區域]仍然顯示。
這正是圖層所做的。創建一個圖層,拋出顯示或隱藏小部件的規則,完成。 –
我無法在圖層中包含邏輯,顯示的邏輯位於窗口小部件中(基於它所坐的當前頁面的屬性)。這是所有的工作(意味着小部件正確執行對邏輯,如果不符合,正確「隱藏」(從驅動程序返回null)。一個圖層可能有多個「條件」小部件。它應該仍然顯示,如果1小工具是顯示/活動,但如果所有小部件子項都不顯示,則摺疊 要進一步說明,請參閱 – MikeAtCodeSmart
爲什麼不能在邏輯層中包含圖層規則?完全是*設計了哪些圖層。 –