Tôi đang cố gắng lấy danh sách các mục cha mà RepositoryLocalObject (ví dụ: Component) được kế thừa từ đó. Vì vậy, nếu tôi có một pub ID 1 với thành phần tcm: 1-80 và một pub pub ID 2, thì thành phần này được chia sẻ trong pub con như tcm: 2-80. Vì vậy, tôi muốn có được cha mẹ của tcm: 2-80, hoặc bất cứ thứ gì trong cây di chuyển lên.Tridion RepositoryLocalObject.GetBluePrintChú pháp phương pháp (BluePrintChainFilter) đưa ra ngoại lệ cho các mục được chia sẻ
Tôi đã thử phương thức GetBluePrintChain() trên bản sao cục bộ của thành phần mà nó hoạt động tốt. Tuy nhiên, trên thành phần được chia sẻ, nó trả về một InvalidActionException: "Mục này được chia sẻ". Tài liệu đề cập rằng ngoại lệ này được ném vào các mục được chia sẻ. Nhưng điều này có ý nghĩa gì? Rõ ràng nếu bất kỳ mục nào có một chuỗi kế hoạch chi tiết ngoài chính nó sẽ được chia sẻ (hoặc là một bản sao cục bộ). Vì vậy, với tôi nó không có ý nghĩa để có phương pháp này ném một ngoại lệ về một cái gì đó mà có một chuỗi kế hoạch chi tiết. Có vẻ như mâu thuẫn.
Câu hỏi của tôi có phần liên quan đến Getting root publication of component, nhưng khác biệt. Tôi cần phải hiểu tại sao ngoại lệ này được ném vào các mục được chia sẻ. Ai đó có thể vui lòng giải thích và có lẽ chia sẻ một trường hợp sử dụng để hỗ trợ nó?
ah, nhưng nếu bạn chỉ định bộ lọc, bạn có thể đặt hướng lên hoặc xuống. Vì vậy, tôi sẽ mong đợi để có thể lấy một mục chia sẻ và nhận được chuỗi lên cây: BluePrintChainFilter bpfilter = new BluePrintChainFilter (BluePrintChainDirection.Up, engine.GetSession()); –
Mục có thể được bản địa hóa trong kho lưu trữ ngữ cảnh hiện tại, trong trường hợp này bạn có thể nhìn lên hoặc xuống - và bạn chỉ định hướng trong bộ lọc. Dù bằng cách nào, có vẻ như bạn chỉ có thể truy cập BluePrintChain trên một mục trong ngữ cảnh OwningRepository của nó. –