czego doświadczamy jest domyślnym zachowanie Tridion. Jest to zgodne z projektem, aby zapewnić, że po zmianie treści w komponencie publikacja spowoduje aktualizację wszystkich wystąpień tej treści na stronie internetowej.
W innych odpowiedzi sugerują, można to zmienić przy użyciu niestandardowych Resolver:
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
}
}
}
Przykładowy kod powyżej pokazuje, można uzyskać dostęp do kolekcji o nazwie resolvedItems. To jest lista przedmiotów, które mają zostać opublikowane, chyba że wprowadzisz w niej zmiany.
Możesz przeglądać tę listę i usuwać elementy zgodnie z własnymi wymaganiami.
Mógłby, ale to by znaczyło, że tylko Komponent C zostanie opublikowany. Podczas publikowania komponentu C chce, aby komponent A także został opublikowany, ale nie komponent B. Konwersja jest jedynym sposobem na osiągnięcie tego, o czym myślę. –