2010-02-18 4 views
3

Возможно ли в пользовательских указателях/xslt визуализации проверить, что элемент опубликован ограниченным или недоступен для публикации в Sitecore CMS? Мы получаем некоторые ситуации, когда мы объясняем пользователям CMS, как устанавливать ограничения публикации и возвращать вопросы о элементах, отображающих стандартные значения на веб-сайте. Например:Неопубликованные/ограниченные элементы в Sitecore, показывающие стандартные значения

  • У меня есть предмет и содержит поля с информацией.
  • Я публикую этот товар, и все в порядке. Содержимое отображается на веб-сайте.
  • Я изменяю ограничения публикации и говорю, что он может быть опубликован только с 23-02-2010 по 25-02-2010.
  • Что происходит, так это то, что, когда я публикую веб-сайт снова, элемент, который был показан правильно, теперь показывает стандартные значения.

EDIT:

  • деталь я имею в виду есть только один вариант . (Голландский - версия 1) Элемент сделан только с помощью вставки из шаблона и заполнен информацией. После того, как он заполнен информацией, Установлены ограничения на публикацию. Когда это будет сделано, и элемент не будет , подпадающим под дату этого ограничение i см. Стандартные значения @ спереди.

Ограничения на публикацию могут использоваться для обеспечения того, чтобы информация показывалась только в определенный период времени? Это что-то, что мы можем исправить в нашем коде? Можем ли мы проверить, что элемент не находится в диапазоне публичных ретрансляций/неопубликованных?

ответ

2

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

Если пользователь в CMS от Sitecore задает диапазон, в котором элемент может быть опубликован и вы увидите стандартное значение появляется на передней панели:

  • Посмотрите класс/рендеринг любой, который показывает информацию
  • Убедитесь, что ваш код проверки версий, доступных

Если есть только одна версия доступна как в моем случае, и нет никаких других версий в то время как дата сегодня выходит за пределы диапазона указано делает простой товар .Empty c черт будет достаточно.

Всякий раз, когда у вас есть пункт Sitecore, что вам нужно обрабатывать:

элемент имеет версии в контексте языка ?? ->item.Versions.Count

изделие может быть опубликовано? ->!item.Publishing.IsValid(DateTime.Today, false)

изделие имеет макет ??? ->item.Visualization.GetLayout(Sitecore.Context.Device)

Надеюсь, эта информация будет когда-то полезной для кого-то!

+0

Короче говоря, если вы ограничиваете публикацию всех версий статьи, вы получаете рендеринг ваших стандартных значений, который буквально является версией «0» элемента контента. –

0

Вот возможное объяснение описанного вами поведения. У вас есть несколько версий вашего элемента, и когда вы устанавливаете ограничения публикации для версии, с которой вы работаете (как правило, последняя), она становится неопубликованной. Если одна из предыдущих версий, которая теперь становится доступной для публикации, не переопределяет стандартные значения, вы увидите эти стандартные значения в интерфейсе.

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

Что касается начального вопроса, любое поле элемента может быть адресовано из пользовательского управления/рендеринга XSL (например, sc: fld function). Но имейте в виду, что вы запрашиваете веб-базу данных из рендеринга. Если ограничения публикации установлены, и элемент не доступен для публикации, вы не получите этот элемент и его поля из рендеринга/sublayout.

Надеюсь, это поможет.

+0

Я отредактировал мой вопрос, чтобы быть еще более ясным! Thx для ответа, но перепроверьте мой вопрос plz – Younes

+0

Что касается последней части вашего ответа: я понимаю, что когда элемент не опубликован, я не смогу отображать значения из этого конкретного элемента. Как я могу убедиться, что мой код не будет пытаться. Есть ли способ проверить код, если элемент доступен для публикации/попадает в дату ограничения публикации? Таким образом, я могу помешать элементам перейти в режим значений по умолчанию, когда я откажусь/ограничиваю. – Younes

+0

Я вижу, что каждый элемент имеет возможность проверить, где он пуст. Когда я использую этот параметр, вы можете скрыть стандартные значения, если у элемента нет версии! – Younes

Смежные вопросы