2013-03-12 3 views
0

Я пытаюсь использовать Sitecore Query Language через Sitecore Rocks Query Analyzer, чтобы обновить кучу элементов в новом рабочем процессе, сохраняя текущее состояние. I тока имеют следующее:Sitecore Query Language: Update + Where

update set @#__Workflow state# = "--GUID of the workflow state--" from //*[@@id='--GUID of the parent Item--']/* 

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

update set @#__Workflow state# = "--GUID of the DRAFT workflow state--" from //*[@@id='--GUID of the parent Item--']/* where @#__Workflow state# = "--GUID of the original DRAFT workflow state--"; 
update set @#__Workflow state# = "--GUID of the APPROVED workflow state--" from //*[@@id='--GUID of the parent Item--']/* where @#__Workflow state# = "--GUID of the original APPROVED workflow state--"; 

Это, однако, не работает. У меня просто проблема синтаксиса с моим , где, или может , где не используется вместе с update в Sitecore Query Language.

ответ

1

«Где-предложение» не работает в Langauge запроса.

Вы должны использовать использовать/* [@ FIELDNAME = "значение"] для выбора элементов, например:

update set @#__Workflow state# = "--GUID of the DRAFT workflow state--" from //*[@@id='--GUID of the parent Item--']/*[@#__Workflow state# = "--GUID of the original DRAFT workflow state--"]; 

update set @#__Workflow state# = "--GUID of the APPROVED workflow state--" from //*[@@id='--GUID of the parent Item--']/*[@#__Workflow state# = "--GUID of the original APPROVED workflow state--"];