Как мне заставить UGC DCP работать с REL?

Я создаю в основном динамический веб-сайт в.NET и пытаюсь заставить UGC работать вместе с моими презентациями динамических компонентов. Мои DCP публикуются с использованием выходного формата REL (для базы данных брокера) и используются с использованием класса ComponentPresentationAssembler.

DCP содержат как динамическую связь, так и UGC PostRating. Во время выполнения динамическое соединение успешно разрешено, однако код UGC - нет.

Пример содержания DCP в базе данных:

<div>
<h2><tcdl:Link type="Component" origin="tcm:0-0-0" destination="tcm:33-10793" templateURI="tcm:0-0-0" linkAttributes="" textOnFail="true" addAnchor="false" variantId="">Basic Business Checking</tcdl:Link></h2>
    <tcdl:PostRating itemURI="tcm:33-10793" postParameter="ratingValuetcm:33-10793">
        <tcdl:ItemStats itemURI="tcm:33-10793">
            Rating:<tcdl:ContextVariable var="ugcItemStats.averageRating"/> (<tc    dl:ContextVariable var="ugcItemStats.numberOfRatings"/> ratings)<br/>
        </tcdl:ItemStats>
        <form method="post" id="ratingForm">Rate:
            <select name="ratingValuetcm:33-10793" size="1">
                <option value="1">1</option>
                <option value="2">2</option>
                <option value="3">3</option>
                <option value="4">4</option>
                <option value="5" selected="true">5</option>
            </select>
            <input type="submit" value="Rate!"/>
        </form>
    </tcdl:PostRating>
</div>

Код страницы.NET:

Query myQuery = new Query();
myQuery.Criteria = andCriteria;
string[] componentPresentationURIs = myQuery.ExecuteQuery();

ComponentPresentationAssembler componentPresentationAssembler = new ComponentPresentationAssembler("tcm:33-10796-64");

foreach (string componentPresentationURI in componentPresentationURIs) {
    Response.Write(componentPresentationAssembler.GetContent(componentPresentationURI, strComponentTemplateURI));
}

UGC успешно работает при развертывании на странице.
cd_dynamic_conf.xml настроен с помощью пакета тегов ugc_renderer_bundle.xml.

В визуализированном html динамическая ссылка преобразуется в

<a href="/prodigy/business-rewards-checking.aspx" >Business Rewards Checking</a>  

Однако код остается как есть.

И идеи будут приветствоваться.

1 ответ

Сначала небольшое замечание: "Теги REL не могут публиковать комментарии / рейтинги" (см. "Запрос на улучшение 76605, зарегистрированный с помощью Tridion"). Это в основном означает, что ваш "tcdl:PostRating" будет просто удален из полученного результата. Что касается "tcdl:ItemStats" и "tcdl:ContextVariable", они должны работать очень хорошо, если у вас есть настройка "ugc_dao_bundle.xml" в вашем "cd_storage_conf.xml". В результате вы получите всю страницу со всеми комментариями, но публикация или редактирование комментариев / оценок не будут работать. Если что-то не так с вашим рендерингом, вы должны увидеть некоторые ошибки в своих логах. Надеюсь это поможет.

Ура, Даниэль.

Другие вопросы по тегам