Как я могу получить / показать постоянную ссылку в блоге в Sitefinity? - PullRequest
2 голосов
/ 23 февраля 2012

На моем сайте Sitefinity 4.3 у меня есть блог, настроенный с использованием стандартного модуля содержимого блога и шаблонов виджетов. Сообщения в блогах, среди прочего, классифицируются по продукту, к которому они относятся.

Структура URL выглядит следующим образом:

/blog_template_page/blog_category_template_page/2012/01/01/post-name

Каждое сообщение в блоге имеет как минимум две категории:

  1. blog_category (чтобы я мог собрать похожие типы статей в архив блога)
  2. product_category (чтобы я мог связать сообщения в блоге с продуктами, которые мы продаем)

В другом месте на сайте у меня есть Страницы, которые составляют каталог продукции. На странице для продукта X я хотел бы показать список сообщений в блоге, имеющих категорию product_category продукта X. Когда пользователь нажимает кнопку, чтобы прочитать сообщение в блоге, он должен перейти к исходному URL-адресу блога выше (постоянная ссылка на блог сообщение).

Как получить виджет списка блогов Sitefinity для генерации URL-адресов к исходному местоположению блога?

Насколько я могу судить, Sitefinity дает мне два варианта: использовать текущую страницу в качестве шаблона для записи в блоге (что я не хочу делать, поскольку я нахожусь на странице каталога). Или используйте другую страницу на сайте в качестве шаблона (что я не хочу делать, так как у меня будет совершенно новый URL).

Другими словами ...

Что я хотел бы сделать: На главной странице продукта для продукта X я хотел бы показать динамический список, который ссылается на оригинальные сообщения в блоге. Я мог бы создать новый шаблон блога и отобразить содержимое с помощью нового шаблона, но это дало бы мне новые URL. Я действительно хочу, чтобы Список блогов генерировал ссылки на посты блога в их исходном местоположении.

В WordPress я бы использовал the_permalink (); в моем шаблоне списка блогов. Есть ли что-то похожее в Sitefinity?

Двойные баллы, если есть способ для меня разработать / выполнить это из административных страниц бэкэнда, а не из кода. Но все лучше, чем ничего.

Ответы [ 2 ]

1 голос
/ 24 февраля 2012

Я думаю, что однострочный ответ на ваш вопрос: не существует места по умолчанию для сообщений в блоге.

Архитектура Sitefinity в основном позволяет размещать любой контент на любой странице.Абсолютные URL-адреса для элементов формируются из ОБА из них (страница и URL-адрес элемента).Поэтому одно сообщение в блоге может иметь неограниченное количество URL-адресов, в зависимости от страницы, на которой вы его просматриваете.

Это дизайнерское решение, и я понимаю, что оно может сбить с толку.Однако вы можете решить, что один из этих URL-адресов (с определенной страницей) будет по умолчанию.Затем, если вы хотите, чтобы все места, в которых вы размещали сообщения блога, указывали на это значение по умолчанию, просто настройте виджет BlogPosts, чтобы он всегда указывал на эту конкретную страницу для отдельного сообщения.URL, но вы не можете контролировать часть страницы - это всегда текущая страница, которую вы просматриваете.Дополнительную информацию об URL-адресах вы можете найти в нескольких написанных мною постах:

Пользовательские форматы URL-адресов для модулей содержимого Sitefinity
Фильтрация URL-адресов во встроенном контентеВиджеты
Фильтрация URL с несколькими виджетами контента на страницу

Если у вас есть дополнительные вопросы, вы можете написать на наших форумах или напрямую мне (slavo dot ingilizov at telerik)точка ком).

С уважением,
Славо
Команда Sitefinity.

0 голосов
/ 23 февраля 2012

Я предполагаю, что вы говорите о стандартных категориях Sitefinity, верно?

В настоящее время фильтрация работает с QueryString или UrlPrefix. Таким образом, вы получите что-то вроде этого:

/product-blog-sample/-in-Category/Categories/services/serviceb

или

/product-blog-sample?taxonomy=Categories&propertyName=Category&taxon=%2fservices%2fserviceb

В обоих случаях вы перетаскиваете виджет блога на страницу, переходите к редактированию и на 1-й вкладке выбираете «Узкий выбор» и выбираете 2-й переключатель «Выбор сообщений», а затем первое поле выбора «По категориям».

Затем нажмите «Дополнительно» внизу и найдите поле «UrlEvalutationMode». По умолчанию он будет иметь UrlPrefix (url result 1), но вы можете изменить его на QueryString и получить второй результат.

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

В качестве последнего шага вам необходимо обновить подробный шаблон вашего продукта, чтобы вывести его на URL-адрес, чтобы в нем были «категории».


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

J.

...