से अधिक आइटम लौटाता है मैं ट्राइडियन कोर सेवा के साथ GetListUsingItems दृष्टिकोण का उपयोग करके ब्लूप्रिंट आइटम के सभी बच्चों को प्राप्त करना चाहता हूं। मैं टीओएम में पुराने तरीके की तुलना में कोर सेवा के साथ अलग-अलग परिणाम (अधिक) वापस प्राप्त करता हूं। ऐसा प्रतीत होता है कि मैं घटक घटक के माध्यम से अपने स्रोत घटक का संदर्भ देने वाले अन्य घटक भी वापस प्राप्त करता हूं। क्या मुझे कोर सेवा में एक फ़िल्टर विकल्प याद आ रहा है?ट्रिडियन कोर सेवा के साथ GetListUsingItems TOM
Tridion 5.3:
Function GetLocalizedItemNodes(itemUri)
Dim tridionItem : set tridionItem = tdse.GetObject(itemUri,1)
Dim rowFilter : set rowFilter = tdse.CreateListRowFilter()
call rowFilter.SetCondition("ItemType", GetItemType(itemUri))
call rowFilter.SetCondition("InclLocalCopies", true)
Dim usingItemsXml : usingItemsXml = tridionItem.Info.GetListUsingItems(1919, rowFilter)
Dim domDoc : set domDoc = GetNewDOMDocument()
domDoc.LoadXml(usingItemsXml)
Dim nodeList : set nodeList = domDoc.SelectNodes("/tcm:ListUsingItems/tcm:Item[@CommentToken='LocalCopy']")
set tridionItem = nothing
set domDoc = nothing
set GetLocalizedItemNodes = nodeList
End Function
Tridion 2011 SP1 की प्रमुख सेवा:
private XElement GetLocalizedItems(string itemUri)
{
XElement usingXML = null;
try
{
CoreServiceClient client = new CoreServiceClient();
client.ClientCredentials.Windows.ClientCredential.UserName = ConfigurationManager.AppSettings["impersonationUser"].ToString(); // "administrator";
client.ClientCredentials.Windows.ClientCredential.Password = ConfigurationManager.AppSettings["impersonationPassword"].ToString();
client.ClientCredentials.Windows.ClientCredential.Domain = ConfigurationManager.AppSettings["impersonationDomain"].ToString();
// original code from http://www.tridiondeveloper.com/getting-used-items-using-the-core-service
// Create a filter
UsingItemsFilterData usingItemsFilterData = new UsingItemsFilterData
{
BaseColumns = ListBaseColumns.IdAndTitle, // to specify the detail in the XML
IncludeLocalCopies = true,
ItemTypes = new[] { ItemType.Component }
};
// Get the XML by calling .GetListXml on the client (assumes you have a 'client' object already)
usingXML = client.GetListXml(itemUri, usingItemsFilterData);
}
catch (Exception ex)
{
throw;
}
return usingXML;
}
हाय रॉबर्ट के बजाय वस्तुओं की आप सरणी वापस आ जाएगी है। यह उन घटकों की संख्या को प्रभावित नहीं करेगा जिन्हें आप वापस प्राप्त कर रहे हैं (क्योंकि आपका स्रोत आइटम एक घटक है), लेकिन यह ध्यान देने योग्य हो सकता है कि आपका R5.3 कोड 'आइटम टाइप' पंक्ति फ़िल्टर सेट करता है (जिसका अर्थ है कि आप केवल घटक प्राप्त करेंगे वापस) लेकिन आपका कोर सेवा कोड नहीं है। यह आपके परिणामों की कुल संख्या को प्रभावित कर सकता है, लेकिन घटक की मात्रा (जैसा कि आप वर्णन करते हैं) नहीं। –
मैंने आइटम टाइप की स्थिति को जोड़ा लेकिन फिर भी संबंधित घटक और बच्चे भी मिलते हैं। कोई अन्य विचार? – robrtc