пятница, 11 марта 2016 г.

Что нового в версии 5.0: Ссылки на элементы данных

Ссылка на элемент данных (сообщение в блоге) в редакторе кода в Composite C1 CMS v5
А теперь о возможностях для разработчиков (фронтенд, бекенд и т.д.), которые появились в Composite C1 CMS версии 5.0.

Начнем с элементов данных.

И начнем с возможности вставлять ссылки на отдельные элементы данных в контенте.

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

Раньше вам бы пришлось вставлять абсолютную или относительную ссылку как есть. Например, http://contoso.com/blog/2016/01/how-to-make-big-bucks-working-only-one-minute-a-day или blog/2016/01/how-to-make-big-bucks-working-only-one-minute-a-day и т.п.

Все хорошо, но если путь к сообщению поменяется, то вам нужно будет редактировать страницу или сообщение, чтобы обновить ссылку.



А вот например, со страницами в Composite C1 CMS всегда было проще.

В визуальном редакторе вы просто вставляли ссылку через диалоговое окно "Вставить ссылку", и ссылка на страницу вставлялась по ее идентификатору как, например, ~/page(b0feff8e-5946-4f48-9507-cd9ad9fea898). А уже в обработанном контенте страницы (предпросмотр, публичная версия), ссылка заменяется на правильный путь. Например http://contoso.com/about-us/we-are-hiring.

И если вы вдруг переместите страницу на сайте (или измените путь к ней еще как-то), ссылку на нее менять не нужно будет. Ее идентификатор остается неизменным и внутренней ссылки ~/page(b0feff8e-5946-4f48-9507-cd9ad9fea898) будет достаточно. А после обработки в контенте будет правильная новая ссылка, например, http://contoso.com/careers/we-are-hiring-and-firing.

Так вот. Теперь то же самое можно делать и с элементами данных такими как сообщения в блоге, новостные статьи, описания продуктов.

Например, на стартовом сайте Venus можно вставить ссылку на любое сообщение в блоге.

Выбор элемента данных (сообщения в блоге) для ссылки в редакторе кода в Composite C1 CMS v5

В исходнике страницы будет такая ссылка: ~/blogEntry(99521b7b-ebd0-484e-a82b-e6424472f4d2). И после публикации сообщения или в предварительном просмотре она будет правильно преобразовываться, например, в http://contoso.com/blog/2014/06/30/how-to-enable-comments-on-blog-posts.

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

Как минимум нужно задать формата внутренней ссылки (короткое название для URLа), типа blogEntry для внутренних ссылок типа ~blogEntry(99521b7b-ebd0-484e-a82b-e6424472f4d2) или просто blog - для ~/blog(99521b7b-ebd0-484e-a82b-e6424472f4d2)

Формат внутренней ссылки для типа данных (сообщений в блоге) в Composite C1 CMS v5

а также обеспечить преобразование внутренних ссылок во внешние, публичные ссылки, т.е. из ~blogEntry(99521b7b-ebd0-484e-a82b-e6424472f4d2) получать http://contoso.com/blog/2014/06/30/how-to-enable-comments-on-blog-posts. Последнее можно задать с помощью специального параметра типа RoutedData<T>.

Подробнее обо всем этом можно прочитать на официальном сайте в статье "Linking to Data Items". А я постараюсь в одном из будущих сообщениях рассмотреть эту тему тоже.

Далее я расскажу про предварительный просмотр содержимого элементов данных во внутреннем браузере в админке.



Читайте также:

Комментариев нет:

Отправить комментарий