2015-07-29 4 views
0

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

К примеру, у меня есть 5 полей в первом шаблоне:

  • Метки
  • Image
  • Скачать ссылка
  • Название
  • Дата

и 5 полей в другой шаблон:

  • Тип
  • Изображение
  • Скачать Текст
  • Название
  • Дата

Здесь первые два поля различны в обоих шаблонах и оставшиеся 3 поля одинаковы.

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

Я попытался переопределить метод шаблона изменения файла sitecore TemplateManager.ChangeTemplate(Item item, TemplateChangeList changes), но он опустошает поля, а я хочу сохранить данные полей.

Если у кого есть представление об этом, пожалуйста, помогите.

+0

После этой операции, вы по-прежнему нужен исходный шаблон? Или было бы хорошо, если он будет уничтожен в процессе? –

+0

Идеальный исходный шаблон не должен подвергаться воздействию –

ответ

1

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

Если вы это сделаете, вы можете использовать PowerShellExtension. Это займет всего 1 секунду.

Вы можете получить идею сценария из Sitecore Workflow Is Not Working

0

Решение состоит в наследовании этих полей (с использованием поля «Базовый шаблон»).

Другое решение - создать собственную команду шаблона изменения. Вы можете найти здесь примеры кода: http://sitecore.stockpick.nl/nederlands/dialoge-box-in-een-command/ (это голландская статья)

При использовании кода: item.ChangeTemplate(template); и заполнить новое поле с уже сохраненными значениями из старого шаблона.

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