2017-06-08 5 views
0

私は5バージョンのアイテムを持っているとします。 (私は言語のバージョンについて話しているわけではない)。Sitecoreはプログラムでバージョンを比較します

差異を特定するためにすべてのバージョンを比較したいと思います。このタスクを行うためにSitecoreからすぐに利用できるものがありますか?あるいは、すべてのバージョンをループしてから、すべてのフィールドをループして差分を見つけなければなりません。

+0

Sitecoreでバージョンコンパイル機能を使用し、別のバージョンのアイテムを選択してコンパイルすることができます。なぜすべてのバージョンをループするのですか? –

+0

あなたはこの[Sitecoreバージョン比較](https://doc.sitecore.net/sitecore_experience_platform/80/content_authoring/managing_items/cloning__versioning/view_and_compare_item_versions)について話していますか?私はコンテンツエディタではない普通のユーザに情報を表示したい。 – Kamran

+0

はい、でも、あなたはウェブサイト訪問者のために何かをしたいと思っています。プログラム的には、私はそれがSitecoreにあるとは思わない –

答えて

1

いいえ、そのままの状態では何もありません。フィールドを1つずつ比較する必要があります。

フィールドの一部は無視する必要があります(__Updated__ValidFrom__Workflow Stateなど)。

Blobフィールドで変更された内容を表示することは容易ではないことに注意してください。

FieldCollection fields = version1.Fields; 
fields.ReadAll(); 
fields.Sort(); 
foreach (Field field1 in fields) 
{ 
    if (field1.ShouldBeTranslated) 
    { 
     Field field2 = version2.Fields[field1.ID]; 
     var value1 = field1.Value; 
     var value2 = field2.Value; 
     ... // whatever you need here 

はあなたが必要なすべてのヌルチェックを追加していることを確認してください:あなたが開始するため

そしてここでは、コードです!わかりやすくするためにそれらをスキップしました。

関連する問題