В моем проекте я часто использую поле Sitecore General Link для ссылок (внешних, внутренних или мультимедийных). Один стандарт, который у меня есть, заключается в том, что для всех моих страниц на каждой странице есть поле под названием «NavigationTitle». Это позволяет автору CMS управлять отображением текста для элемента всякий раз, когда этот элемент связан. В идеале я хотел бы найти какой-то способ заставить систему использовать это поле из целевого элемента всякий раз, когда этот элемент связан. Вот пример.
Предположим, что на всех страницах моего сайта есть следующие основные поля
- Название навигации (текст)
- Контент (расширенный текст)
Допустим, у меня есть шаблон данных под названием Promo. И Promo имеет следующие поля:
- Название (текст)
- Содержание (текст)
- Изображение (изображение)
- Ссылка (общая ссылка)
Поле «Ссылка» в промо может указывать на внутреннюю или даже внешнюю страницу. Прямо сейчас, когда я создаю подмакет для отображения промо, если я использую тег <sc:Link>
для вывода поля ссылки, я полагаю, что Sitecore сначала будет использовать текст поля ссылки для текста. В противном случае я думаю, что он будет использовать имя элемента для текста.
Я хотел бы построить его так, чтобы вместо использования имени элемента целевого элемента я хотел бы использовать определенное значение поля из целевого элемента. И я хотел бы, чтобы этот код выполнялся на достаточно низком уровне, чтобы он работал в связке с чем-то вроде Glass Mapper. Так что, когда я использую Glass Mapper для вывода поля Link (используя что-то вроде метода Editable), он будет отображать правильный текст ссылки.
Кто-нибудь знает, как бы я это сделал? Я предполагаю, что мне, возможно, придется создать собственное поле общей ссылки, которое наследуется от обычного поля общей ссылки и что-то переопределяет. Просто предположение. Любая помощь приветствуется.