Параметры схемы SDL Tridion Поле «Список ссылок» - PullRequest
4 голосов
/ 03 апреля 2012

Я хочу создать схему SDL Tridion со списком повторяющихся ссылок, избегая при этом нескольких полей для каждой ссылки.

Гиперссылка

В поле расширенного текста у меня есть следующие варианты создания гиперссылки: *

  • Компонент
  • Якорь
  • http://
  • электронная почта:
  • Другое

Когда авторы контента создают одну из этих гиперссылок, у них есть возможность выбрать связанный (видимый) текст, а также атрибуты заголовка и цели, которые работают как обычные гиперссылки HTML.

«Richtext» означает текстовое поле с Height of the Text Area = как минимум 2 строки с выбранным Allow Rich Text Formatting.

Ссылка на поле одной схемы При создании одного поля схемы я вижу следующие параметры:

  • Внешняя ссылка (варианты автора будут включать http://, mailto, Other)
  • Мультимедийная ссылка
  • Ссылка на компонент (которая может разрешать мультимедийные значения)

Текущие идеи

Лучшие из готовых (OOTB) настроек, которые я нашел для этого «списка ссылок», предлагают либо:

  1. один двухстрочный RTF с инструкциями по созданию гиперссылки (любого типа) в этом поле
  2. отдельные поля для каждого типа , а также дополнительные поля для отображаемого имени, цели и заголовка (где поля собираются через код шаблона), авторы заполняют только одно из полей (ссылка на компонент или внешний)

Вопрос

Есть ли способ в конструкторе форм схемы, путем обновления источника схемы или с помощью кода, предложить те же (RTF) опции раскрывающегося списка гиперссылок, но в одном поле? Я мог что-то упустить, но признать, что этот сценарий не поддерживается OOTB.

Ответы [ 4 ]

5 голосов
/ 06 апреля 2012

Один из вопросов, который мы здесь упускаем, состоит в том, чтобы рассмотреть, будут ли эти ссылки использоваться где-то еще в индивидуальном порядке. В таком случае я выбрал бы несколько компонентов, поэтому мы можем повторно использовать каждый компонент несколько раз.

Если вы планируете разрешить редактору создавать список ссылок, которые они будут использовать только в данном компоненте (не для повторного использования), у вас есть все опции, упомянутые в предыдущих ответах.

Чтобы дать вам представление о том, что является лучшим подходом (по моему скромному мнению), вот что нужно учитывать:

  1. Отдельные компоненты на ссылку: используйте этот подход, если ссылки можно использовать повторно.

  2. Использование встроенных схем (со структурой ссылок), поэтому этот подход можно использовать в различных типах компонентов (схемах)

  3. Пользовательский URL / однострочное текстовое поле: оно требует дополнительных усилий по разработке, и очень маловероятно, что вы будете сохранять жесткие ссылки при создании внутренних ссылок. Как вы знаете, SDL Tridion хранит ссылку на идентификатор tcm для разрешения ссылок, запуска публикации и т. Д.

  4. Пользовательский URL / 2 строки RTF: он выполнит свою работу, но вам необходимо убедиться, что вы отключили все другие параметры RTF на панели инструментов ленты в параметрах схемы RTF, так что вы уверены, что редакторы можно только создавать ссылки. Кроме того, вам может потребоваться добавить фильтр XSLT, чтобы проверить, вводят ли редакторы нечто большее, чем просто ссылки. Эти ссылки не могут быть использованы повторно.

В целом, если вы реализуете что-то нестандартное (расширение GUI + настраиваемый URL-адрес), имейте в виду все концепции TRIDION CMS, такие как светокопия (что происходит, когда ссылка наследуется вниз), где она используется и т. Д ...

Я всегда рекомендовал использовать отдельные компоненты, но будьте осторожны с распространением ссылок при публикации ...

4 голосов
/ 04 апреля 2012

Я видел этот случай у клиентов. Если они рассматривают меньшие усилия по разработке, идея иметь несколько встроенных полей хороша.

Вы можете иметь его как:

[текст] Текст ссылки

[Ссылка на компонент] Ссылка на что-либо

Вам потребуется дополнительная схема контента для внешних ссылок, например:

[Внешняя ссылка] URL

[текст] цель

[любая дополнительная опция, которая вам нужна]

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

Наконец, редактор просто добавит несколько ссылок на компоненты, которые имеют схему External Link любой другой. Это будет код шаблона, который проверяет схему связанного компонента и добавляет код соответствующим образом.

3 голосов
/ 04 апреля 2012

XML Имя Описание Тип поля

[текст] Текст текста

[заголовок] Текст заголовка

[static_url] Текст внешнего URL

[компонент] Ссылка на внутренний URL-компонент

В описании полей для «Внешнего URL» и «Внутреннего URL» вы можете добавить комментарий, чтобы убедиться, что редактор не запутался, должно быть только одно из этих двух полей.заполнено. Из компонента его идентификатор можно использовать для создания динамической ссылки в DWT.Это решение не требует усилий по разработке, и для редактора оно настолько интуитивно, насколько это возможно.Конечно, это будет многозначное поле встроенной схемы внутри схемы Links.

2 голосов
/ 03 апреля 2012

Этот вариант использования может работать с использованием поля Custom URL и, возможно, расширения GUI. Идея состоит в том, чтобы иметь пользовательский URL, который открывает всплывающее окно (которое может быть расширением GUI). В этом всплывающем окне вы должны выбрать / создать свою ссылку (возможно, используя те же параметры, что и в обычной RTF-ссылке - Component, Anchor, mailto и т. Д.).

Всплывающее окно вернет специально созданную строку. Формат может быть любым, даже фактическим тегом привязки (но JSon тоже подойдет). Пример: {href: 'tcm: 1-2', type = 'component'}.

Ваши шаблоны будут интерпретировать эту строку, чтобы создать что-то значимое, например, динамическую ссылку или статическую привязку HTML.

Также всплывающее окно «Пользовательский URL-адрес» должно быть достаточно умным, чтобы «декодировать» такую ​​ссылку (если в этом поле ранее было указано значение) и, возможно, предварительно заполнить некоторые атрибуты в форме конструктора ссылок RTF.

...