gpt4 book ai didi

模板中的 Sitecore 数据源查询

转载 作者:行者123 更新时间:2023-12-01 23:23:06 25 4
gpt4 key购买 nike

如何在模板的DataSource中写查询生成item的路径?

如果我在 DataSource 字段中编写查询并且页面使用模板,则数据源值将作为动态数据源的项目路径,如屏幕截图。

enter image description here

最佳答案

如果您正在寻找 Sitecore 自动生成子布局的数据源到它所在的项目,类似于具有源属性的模板字段,目前没有任何现成的方法可以实现这一点。

如果您希望在子布局的数据源中输入查询,您将需要使用子布局项上的“启用数据源查询”字段。通过数据源传入查询:

Datasource query example

然后检索查询并执行;

protected void Page_Load(object sender, EventArgs e)
{
//Handle a single GUID
var searches = ((Sublayout)this.Parent).DataSource;
if (searches.IsGuid())
{
var itemDummyList = new List<Item>();
itemDummyList.Add(Sitecore.Context.Database.GetItem(searches));
this.SampleListView.DataSource = itemDummyList;
this.SampleListView.DataBind();
return;
}

//Handle a search query
using (var context = ContentSearchManager.CreateSearchContext((SitecoreIndexableItem)Sitecore.Context.Item))
{
var timer = new Stopwatch();
timer.Start();

//This gives us our IQueryable
var query = LinqHelper.CreateQuery(context, UIFilterHelpers.ParseDatasourceString(searches))
.Select(toItem => toItem.GetItem()).Take(10);

this.SampleListView.DataSource = query;
this.SampleListView.DataBind();

timer.Stop();

//Display the query time only in Debug Mode
if (Sitecore.Context.PageMode.IsDebugging)
{
this.RunTime.Text = " Debug Information: " + timer.ElapsedMilliseconds + " ms to render";
}
}
}

引用约翰·韦斯特;博客 Sitecore 7 Datasource Explained

关于模板中的 Sitecore 数据源查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28331754/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com