Как возможно, что элемент частично опубликован, когда он находится на начальном этапе рабочего процесса с использованием Sitecore?

Для проекта я использую рабочие процессы Sitecore. У меня странная проблема с новой созданной функциональностью комментариев с рабочими процессами. Все новые комментарии (оставленные посетителем из формы на веб-сайте) связаны с рабочим процессом. Существует 3 состояния рабочего процесса:

  1. Ожидание подтверждения
  2. Одобренный
  3. Отклоненный

В шаблоне комментария определены три поля:

  1. Имя
  2. Эл. адрес
  3. Сообщение

Комментарий связан с рабочим процессом в стандартных значениях шаблонов комментариев. Однако, когда я запускаю публикацию или полную публикацию, поле шаблона комментария «Имя» и «Электронная почта» публикуются на веб-сайте Live, пока комментарий находится в состоянии проверки «Ожидание утверждения». Кто-нибудь знает, как это возможно и как я могу это исправить?

Большое спасибо.

Джорди


person Jordy    schedule 06.03.2014    source источник


Ответы (1)


Я предполагаю, что ваши поля «Имя» и «Электронная почта» помечены как «общие». Если это так, они не будут иметь версий и, следовательно, не будут участвовать в вашем рабочем процессе.

Снимите флажок «общие» и отметьте их как «версия».

person Mark Cassidy    schedule 06.03.2014
comment
Есть одна небольшая проблема. Поля «Имя» и «Электронная почта» не отображаются для неподтвержденного комментария, но элементы уже существуют в веб-базе данных при полной публикации. Я что-то забыл? - person Jordy; 07.03.2014
comment
Возможно, вам придется выполнить очистку баз данных из панели управления, чтобы избавиться от значений, уже сохраненных в таблице значений общих полей. Если это не поможет вам, дайте мне знать. Большим молотком было бы вручную удалить значения полей из этой таблицы, чтобы избавиться от них раз и навсегда. - person Mark Cassidy; 07.03.2014
comment
Не знаю, почему вы сняли пометку с моего ответа. Я поясню кое-что, что может сбить вас с толку: ПУНКТЫ Sitecore никогда не помещаются в рабочий процесс, а версии Sitecore. Таким образом, независимо от того, есть ли у вашего элемента версии, которые не были утверждены в рабочем процессе, элемент все равно будет отображаться в вашей веб-базе данных. Вот почему вам нужно было закрыть доступ к своим полям, чтобы они не отображались в самом элементе и, следовательно, всегда были доступны в Интернете. - person Mark Cassidy; 07.03.2014
comment
Если вы читаете этот пункт в коде, вам необходимо следовать рекомендациям; и убедитесь, что номер версии элемента больше 0. Для этого сначала выполните что-то вроде Item myItem = Sitecore.Context.Database.GetItem(ваш веб-элемент). if (myItem.Versions.Count › 0) — только здесь вы можете приступить к работе над своим товаром. - person Mark Cassidy; 07.03.2014