我正在尝试基于 TreeListEx 字段创建自定义字段,参考本文中如何使用 TreeList 创建自定义字段:
http://sdn.sitecore.net/Scrapbook/Custom%20TreeList%20that%20supports%20query.aspx
基本上我需要能够在源字段中启用查询语法。有没有办法做到这一点?
我正在尝试基于 TreeListEx 字段创建自定义字段,参考本文中如何使用 TreeList 创建自定义字段:
http://sdn.sitecore.net/Scrapbook/Custom%20TreeList%20that%20supports%20query.aspx
基本上我需要能够在源字段中启用查询语法。有没有办法做到这一点?
不确定LuceneTreeListEx是否会为您节省开发时间。但是要回答您的问题,应该只是创建一个从 TreeListEx 控件继承的类并覆盖该示例中的 Source 属性的情况。
本质上,您正在剥离query:
并将其传递给database.SelectItems()
方法。
您可能想查看反射器/DotPeek 等中的 TreeListEx 以了解其当前工作方式。
好的 - 所以,解决了这个问题。ItemID 在 treelistex 类中不能作为属性使用,但它可以作为值使用,并且该值在视图状态中。因此,您真正需要做的就是在 itemID 属性中公开视图状态,并像在树列表控件中一样使用它。
public string ItemID
{
get
{
return StringUtil.GetString(this.ViewState["ItemID"]);
}
set
{
Sitecore.Diagnostics.Assert.ArgumentNotNull(value, "value");
this.ViewState["ItemID"] = value;
}
}