Những gì bạn đang trải qua những mặc định là hành vi của Tridion. Điều này là do thiết kế, để đảm bảo rằng khi bạn thay đổi nội dung trong một thành phần, xuất bản nó sẽ cập nhật tất cả các trường hợp của nội dung đó trên trang web.
Như câu trả lời khác đề nghị bạn có thể thay đổi hành vi này sử dụng một Resolver tùy chỉnh:
using Tridion.ContentManager;
using Tridion.ContentManager.CommunicationManagement;
using Tridion.ContentManager.ContentManagement;
using Tridion.ContentManager.Publishing;
using Tridion.ContentManager.Publishing.Resolving;
public class UpdateResolvedItems : IResolver
{
public void Resolve(
IdentifiableObject item,
ResolveInstruction instruction,
PublishContext context,
Tridion.Collections.ISet<ResolvedItem> resolvedItems)
{
foreach (ResolvedItem resolvedItem in resolvedItems)
{
// Check resolved items, and remove accordingly
}
}
}
Ví dụ mã trên chứng tỏ bạn có thể được tiếp cận với một bộ sưu tập được gọi là resolvedItems. Đây là danh sách các mục được xuất bản, trừ khi bạn thay đổi nó.
Bạn có thể lặp qua danh sách này và xóa các mục theo yêu cầu của bạn.
Nguồn
2012-05-04 07:39:27
Anh ấy có thể, nhưng điều đó có nghĩa là chỉ Component C sẽ được xuất bản. Khi xuất bản Component C, anh ta muốn Component A cũng được publish, nhưng không phải Component B. Một resolver là cách duy nhất để thực hiện điều đó tôi nghĩ. –