Кентико - дьявол! Работа с HierarchicalViewer WebParts (я пробую их впервые). У меня следующая иерархия:
Main Page
SubPage 1
[document includes fields: Title, Intro, Bottom Content]SubSubpage 1.1
SubSubpage 1.2
SubSubpage 1.3
SubPage 2
[same fields...]...
На Main Page
я хочу автоматизировать отображение каждого Subpage
: включая Subpage
Заголовок и Вступление, список всех SubSubpage
, затем Subpage
Нижнее содержимое strong >. Другими словами:
Желаемый результат:
<section>
<h1>[Subpage 1 Title]</h1>
<p>[Subpage 1 Intro]</p>
<ul>
<li>[SubSubpage 1.1 Title]</li>
<li>[SubSubpage 1.2 Title]</li>
<li>[SubSubpage 1.3 Title]</li>
</ul>
<p>[Subpage 1 Bottom Content]</p>
</section>
<section>
<h1>[Subpage 2 Title]</h1>
<p>[Subpage 2 Intro]</p>
<ul>
<li>[SubSubpage 2.1 Title]</li>
<li>[SubSubpage 2.2 Title]</li>
<li>[SubSubpage 2.3 Title]</li>
</ul>
<p>[Subpage 2 Bottom Content]</p>
</section>
...
Все просто, правда? Не для Кентико ... нет, они не занимаются человеческой логикой. Я не могу отобразить Нижнее содержимое.
У меня есть следующие иерархические преобразования:
Трансформация предмета для уровня 0:
<section>
<h1><%# Eval("Subpage Title") %></h1>
Преобразования заголовка, нижнего колонтитула и элемента для уровня 1 (соответственно):
<ul>
| </ul>
| <li><%# Eval("SubSubpage Title") %></li>
Пришлось указать пустое преобразование разделителя для уровня 1, чтобы оно не наследовало уровень 0. (Зачем указывать разделитель для уровня 0 только в том случае, если вы все равно собираетесь попасть на все другие неуказанные уровни?)
Ну наконец то,
Преобразования разделителя и нижнего колонтитула для уровня 0:
<!-- Only works on the Footer, not the Separator:
<%# Eval("Subpage Bottom Content") %>-->
</section>
(Почему я все равно должен создавать преобразование для разделителя И нижнего колонтитула? Почему я не могу просто сделать нижний колонтитул - это наиболее логично - и применить его ко ВСЕМ элементам на уровне 0? Я отвлекся.)
Причина, по которой мое Нижнее содержимое не работает, заключается в том, что кажется, что вы не можете Eval()
поля документа в преобразованиях разделителя.
Это было довольно сложно выяснить и почти так же сложно описать в этом вопросе. Мне нужно знать, как достичь желаемого результата выше, используя иерархические преобразования (или что-то еще, если вы об этом знаете)! Я использую Kentico 7 (к сожалению).
Обновлять
У меня есть только внешний доступ к CMSDesk и SiteManager, и у меня нет доступа к серверной файловой системе, и я не знаю ASP.NET.