Могу ли я использовать макрос Kentico, чтобы получить частичный путь?

Я хотел бы знать, можно ли использовать макросы kentico (не обязательно кодировать собственный) для доступа к части пути переписанного URL-адреса.

Пример: http://www.mysite.com/Category/Subcategory/.

Я хотел бы получить последнюю часть (подкатегорию), чтобы затем я мог динамически фильтровать контент. Причина, по которой я хочу использовать макрос, заключается в том, что мне просто не нужно иметь более 20 различных шаблонов страниц, чтобы я мог иметь разные свойства веб-части.


person Code help needed    schedule 05.12.2011    source источник
comment
Да, есть макросы, которые разрешаются в такие пути, как ~ / {0} / {1} /% и т. Д., Но у него есть ограничения. Что именно вы пытаетесь с этим делать?   -  person Jon Adams    schedule 05.12.2011
comment
В основном я хочу передать «Подкатегорию» (в идеале также заменить все дефисы пробелами) и передать ее в поле «Категория» веб-части «Список статей», чтобы я мог получить весь соответствующий контент - я должен добавить, что контент, который я хочу перечислить именно из другого раздела сайта полностью. Однако я хочу фильтровать, используя подкатегорию.   -  person Code help needed    schedule 05.12.2011
comment
Уровни на разной глубине? Например, иногда / 1/2, а иногда 1/2/3? Если это так, то макрорешение, вероятно, не является решением. Почему бы вам не использовать путь к документу по умолчанию, а затем преобразование и преобразование выбранного элемента?   -  person Jon Adams    schedule 05.12.2011
comment
Честно говоря, я не уверен, как бы я поступил так. Честно говоря, я думал, что макрос будет решением моей проблемы - контент, который я хочу получить, всегда находится на одном уровне. Причина, по которой я хочу сделать макрос, заключается в том, что у меня есть 20 разных страниц уровня «Подкатегория». Я не хочу, чтобы у всех них был специальный шаблон, просто чтобы я мог явно указать, какой контент отображать для каждой страницы.   -  person Code help needed    schedule 05.12.2011


Ответы (2)


Предполагая, что вы используете шаблоны портала, и вам не нужен список «все элементы во всех подкатегориях» в родительском элементе:

  1. Создайте веб-часть «Список статей» на родительской странице - родительской для всех подкатегорий.
  2. Установите для веб-части Path значение /{0}/{1}/{2}/% (например, если ваш путь был / Home / Parent / Subcategory) или что-то подобное для вашей среды.
  3. Используйте настройку по умолчанию Inherit для шаблона страницы для всех страниц подкатегорий.

При этом ничего не будет отображаться на родительской странице, а в подкатегориях будут отображаться только документы, расположенные под собой. Примечание. Если вы хотите, чтобы элементы подкатегории имели свои собственные представления, когда пользователь переходит на /{0}/{1}/{2}/item, вам может потребоваться фильтрация, изменив наследование шаблонов или типы документов в веб-части, или что-то в этом роде, если вы не хотите, чтобы все список подкатегорий, который также будет отображаться на страницах, посвященных конкретным элементам.

person Jon Adams    schedule 05.12.2011
comment
Спасибо, я понимаю, что вы предлагаете. Это сработает для проблемы, которую я решил на прошлой неделе и относящейся к другой ситуации. Однако мне нужно будет фильтровать содержимое по фактическим категориям Kentico (те, которые в основном похожи на теги). Я, возможно, недостаточно ясно выразился в моем первом посте, извините. - person Code help needed; 05.12.2011
comment
@Codehelpneeded: Итак, вы говорите, что Category/Subcategory не являются типами документов страницы, это формальные категории Kentico, которые вы используете, для отображения всех документов на сайте, которые настроены на использование этих формальных категорий Kentico? - person Jon Adams; 05.12.2011
comment
Категория / подкатегория - это типы страниц документа. Я хочу получить подкатегорию из URL-адреса и использовать ее в качестве строки поиска (она соответствует имени категории Kentico Cateogry) - person Code help needed; 05.12.2011
comment
@Codehelpneeded: Что искать? Путь к свойству веб-части, результат поиска, настраиваемая таблица и т. Д.? - person Jon Adams; 06.12.2011

Вы можете создать собственный макрос или использовать строковые операции, разрешенные в макросах. См. http://devnet.kentico.com/docs/6_0/devguide/available_macro_methods.htm#string_methods (и вы можете, например, использовать EndsWith или TrimStrart или что-то подобное).

Однако я думаю, что лучший способ - создать собственный макрос, который точно подойдет. Может быть какая-то комбинация макросов и функций макросов, но я думаю, что быстрее просто написать собственный код, который покроет ваши потребности на 100%.

Кроме того, вы можете взглянуть на K #, если есть что-то подходящее - http://devnet.kentico.com/docs/6_0/devguide/ksharp_syntax.htm

person JurajO    schedule 08.12.2011