雖然它(我們不希望Sitecore開發人員浪費時間在部分名稱上),我認爲包含這樣的內容確實很有意義。 讓我列出這是一個功能請求。
如果你想知道這個工作權利,你應該先了解fieldRenderer是如何工作的。它啓動了一個名爲'renderField'的管道。 在這第二個步驟,它的讀取fieldValue方法:
替換一個與自己的自定義類是這樣的:
public void Process(RenderFieldArgs args)
{
Assert.ArgumentNotNull(args, "args");
if(args.RawParameters.Contains("Section"))
{
//Parse args.RawParameters
//Extract Section data
//Take args.Item.Template
//Resolve section
//Resolve fieldvalue
//Set this field value as args.Results.FirstPart
}
if (!string.IsNullOrEmpty(args.FieldValue))
{
args.Result.FirstPart = args.FieldValue;
}
else
{
args.Result.FirstPart = args.Item[args.FieldName];
}
}
東西中的行:
args.Result.FirstPart = args.Item[args.Item.Template.GetSection("sectionName").GetField(args.FieldName).ID];
但現在用錯誤檢查:)
在我們的項目中,我們已經超載Sitecore的用戶控件,以便將這個代碼將在公園散步。謝謝Alex。 – Zooking 2010-03-10 21:51:00