Если честно, я не вижу, что делается с помощью ordinalPosition.Я предполагаю, что когда вы вызываете render для каждой презентации компонента, текущие значения Component и ComponentPresentation обновляются.(В шаблонах старого стиля компоненты и страницы используют один и тот же стек рендеринга.) Но я догадываюсь здесь, и я все еще не уверен, какова предполагаемая логика.@Nuno - коллекция Компонентов обычно не будет обновляться после ее заполнения из Page.ComponentPresentations в «Извлечение компонентов со страницы», поэтому я сомневаюсь, что черная магия будет переноситься так легко.
Итак, Ману - вам нужнопроверьте, какова функциональная спецификация для этой функции.Возможно, идея состоит в том, чтобы просто проверить, присутствует ли где-либо в списке презентация компонента Featured Summary, и, если это так, поставить это слева, а остальные справа.(Если это так, то это довольно сложная логика.) На практике вам, возможно, придется просмотреть существующие страницы, использующие этот шаблон, посмотреть, как они функционируют, и взять на себя обязательство поддерживать только эти страницы в вашем порту.
(Возможно, вы также захотите просмотреть, для чего предназначен этот код рабочего процесса. Возможно, настройка минимального статуса утверждения для вашей действующей цели позволит вам удалить этот код.)
Я полностью поддерживаю первоначальное предложение Nunoвоспользоваться возможностью переписать некоторые вещи.Даже с учетом ваших временных ограничений вы никогда не добьетесь правильной логики, если не поймете проблему и не реализуете код.Серьезно - наличие такого неуправляемого кода будет более вредным, только если вы столкнетесь с жестким крайним сроком.
Обработка различных видов презентаций компонентов является распространенным требованием в шаблонах страниц Tridion.Шаблонная идиома очень отличается в составных шаблонах, но если все сделано правильно, ее гораздо легче понять, чем подход, показанный здесь.Существует базовый класс , доступный в учебном проекте Tridion , который может оказаться полезным, когда у вас есть возможность написать код идиоматически, а не делать построчный порт.