0

現在の状態を維持しながら、Sitecore RocksQueryAnalyzerを介してSitecoreQueryLanguageを使用して、一連のアイテムを新しいワークフローに更新しようとしています。私は現在これを持っています:

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

これは機能します。私がやりたいのは、ワークフローを切り替えながらドラフト/承認待ち/承認済みの状態を維持できるように、 whereステートメントを含めることです。

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--";

ただし、これは機能しません。where句に構文上の問題があるだけですか、それともSitecoreクエリ言語の更新と組み合わせて使用​​できない場合がありますか?

4

1 に答える 1

1

「Where句」はクエリ言語では機能しません。

次のように、/*[@fieldName = "value"] を使用して項目を選択する必要があります。

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--"];
于 2013-03-12T22:39:37.680 に答える