的條件顯示所以我相當新的Sitecore的,這是我的訓練過程中沒有涉及的話題。我的問題僅僅是爲了幫助我指出正確的術語,或者是關於執行以下操作的方法的文檔。Sitecore的字段
我有一個定義項,一噸領域羣體,我想要做的是一樣的東西:
如果字段X的值是「yes」,那麼崩潰/隱藏字段X或字段組X.
這是否有意義?這是一個驗證規則嗎?或其他類型的規則,是否需要附加一個工作流程?你把它放在我想隱藏的領域,還是觸發動作的領域?
我明白任何指導。
的條件顯示所以我相當新的Sitecore的,這是我的訓練過程中沒有涉及的話題。我的問題僅僅是爲了幫助我指出正確的術語,或者是關於執行以下操作的方法的文檔。Sitecore的字段
我有一個定義項,一噸領域羣體,我想要做的是一樣的東西:
如果字段X的值是「yes」,那麼崩潰/隱藏字段X或字段組X.
這是否有意義?這是一個驗證規則嗎?或其他類型的規則,是否需要附加一個工作流程?你把它放在我想隱藏的領域,還是觸發動作的領域?
我明白任何指導。
不確定您是否遇到過Andy Uzick's此blog post。
他明智地談論了在內容編輯器中隱藏字段,並且還創建了一個名爲Hide Field Template Extension的Sitecore模塊,該模塊託管在Sitecore Marketplace上,full source code用於擴展。
通讀並嘗試擴展後,我確實認爲它不會完全解決您的問題(您如何在問題中描述它)。 但它會給你:
只要記住一點,它提到了要求Sitecore 6.5 & 6.6。我沒有在Sitecore 7中進行測試。如果您使用Sitecore 7,我認爲您可以修改源代碼並使其適用於Sitecore 7.
查看並分享您的發現。
快樂Sitecoring!
Sitecore中沒有任何東西可以實現您想要的功能,但沒有理由不能創建組合自定義字段類型來執行此操作。下面的文章將幫助您實現這一目標:
創建一個新的控制,無論是從Droplist繼承(如果該值的比較是基於文本)或Droplink (用於比較ID)。您可以在控件的Source字段中添加一個參數,以指定觸發隱藏的值應該是什麼。
內容編輯器中的底層控件只是一個標準的HTML select
元素。將onchange
事件添加到控件並添加您的Javascript處理程序以隱藏其他控件。由於我找不到向Sitecore控件添加其他自定義css類的方法,因此在您控制之後,最好/最簡單的方法是將同一可摺疊組中的所有其他控件隱藏起來。這意味着你需要更好地對你的控件進行分組(或者至少在邏輯上)。
JavaScript的將是這樣的(內容編輯器使用Prototype JS framework):
if ($(this).getValue() == 'no') {
// find the parent container of this control and then hide all the next siblings in the same group
$(this).up('.scEditorFieldMarker').nextSiblings('.scEditorFieldMarker').invoke('hide');
}
您可以通過在控制檯中運行上述測試,與你的領域的id改變了關鍵字this
,例如$('FIELD2292054')
。
我不確定如何在初始加載時觸發隱藏,也就是說,當有人返回到現有項目時,可以通過添加一個管道來實現,但使用JS解決方案會更好如果可能的話。我會仔細考慮並在接下來的幾天內獲得適當的代碼樣本。
編輯:你可以添加一個事件處理程序到sc:contenteditorupdated
來處理被重定向的內容編輯器。
document.observe("sc:contenteditorupdated", myFunction);
我寫了一個blog post,把code on GitHub如果你有興趣。
你的意思是,當在內容編輯器界面?即項目上的模板部分? –
是的,這是正確的。 – thematt
聽起來像你會想改變內容編輯器的工作方式,雖然這是可能的,但它不是真正的建議。這聽起來像是你的數據太多了。 – IvanL