gpt4 book ai didi

tridion - PublishTransactionFilterData 中的属性使用 Tridion 核心服务缩小搜索范围

转载 作者:行者123 更新时间:2023-12-02 02:05:22 26 4
gpt4 key购买 nike

我正在使用 Tridion Core Service 从针对特定目标的出版物中获取所有已发布的组件。代码如下。由于可以有很多组件,并且使用此代码获得的结果包含所有项目,请问有什么方法可以缩小结果范围(例如提供 ItemType 并递归为 false)。

var filter = new PublishTransactionsFilterData
{
PublicationTarget = new LinkToPublicationTargetData { IdRef = targetId },
ForRepository = new LinkToRepositoryData { IdRef = GetPublication(publicationId)},
BaseColumns = ListBaseColumns.IdAndTitle,
};

XElement t= Instance.GetSystemWideListXml(filter);
var v = t.Elements().Where(k => k.Attribute("ItemType").Value == "16");

最佳答案

首先,您的代码将始终返回 null,因为 ListBaseColumns.IdAndTitle 不会有 ItemType 属性。缩小结果范围的唯一方法是您可以在 PublishTransactionsFilterData 上找到的属性,它们是:

  • EndDate、StartDate 仅在此时间戳内搜索

  • 优先权,如果你知道的话

  • PublishedBy,如果你知道是谁发布的

剩下的都是后置过滤,也ok。您可以过滤 XML 中的所有内容。示例 XML 如下所示:

  <tcm:Item ID="tcm:0-241-66560" Title="page" Allow="24576" Deny="67108864" Icon="T64L0P0" ItemType="64" ItemID="tcm:2-72-64" State="4" StateChangeDate="2013-03-11T14:53:55" Publication="Test" PublicationTarget="Local" ItemPath="\Test\New Structure Group" Action="0" ScheduleDate="" UserId="tcm:0-11-65552" User="domain\user" Priority="4" Managed="0" />

您可以对任何属性进行后过滤

关于tridion - PublishTransactionFilterData 中的属性使用 Tridion 核心服务缩小搜索范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15340256/

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