コンポーネントを別のフォルダに移動


17

1つのコンポーネントを1つのフォルダから別のフォルダに移動します。

while (textReader.Read()) 
{ 
    textReader.MoveToElement(); 
    Component comp = tdse.GetComponent(textReader.GetAttribute("ID"), constant_Publication, true, -1); 
} 

私はcomp.Moveを探してみましたが、存在しません。

Error 7 Property or indexer 'Tridion.ContentManager.Interop.TDS._Info.Path' cannot be assigned to -- it is read only.

iは、コンポーネントを移動するためにどのような操作を行うことができます。また、私はcomp.Info.Pathであっパスがあるが、私はそれを修正しようとする場合、私は次のエラーを持っていることを見ましたか?

14

あなたはあなたに新しい項目を取得したいあなたは、フォルダにペーストアクションを実行する必要がTOMではなくTOM.NET

を使用しているように見えます

何か

objFolder.PasteItem(comp, 1, false) 

のような

最初のパラメータは貼り付けたい項目、2番目は列挙子(EnumTDSCutCopyAction - 1はカット(移動)、0はコピー)です。コピー&ペーストまたはカットとパースeであり、最後の1つは固有の名前をアサートするかどうかです。

TOM.NETにはRepositoryLocalObject.Move()メソッドがあります。

  0

これは機能します。どうもありがとうございました! 14 3月. 132013-03-14 15:30:58

+1

ハードコーディングではなく、列挙(TDSDefines.EnumTDSCutCopyAction)を使用する必要があることを追加したかっただけです。それは変更されませんが、関係なく良い練習です:) 18 3月. 132013-03-18 10:49:53


12

TOM APIには、このメソッドが貼り付けアクションとして実装されています(2011 TOM.NET APIには実際にComponent.Moveがあります)。

Folder.PasteItem(ByVal Item As Variant, ByVal action As TDSDefines.EnumTDSCutCopyAction, ByVal makeUnique As Boolean) 

パラメータ

  • アイテム - TOMオブジェクトまたはURI貼り付けるための項目を表します。
  • アクション - 実行するアクション:カット・ペーストまたはコピー・ペースト。
  • makeUnique - 貼り付けられたアイテムのタイトルを新しい組織アイテム内で一意にするかどうかを指定します。
  0

それは動作します。どうもありがとうございました! 14 3月. 132013-03-14 15:30:31