Umbraco (v. 6.1.5) コンテンツのノードが既に公開されているかどうか、またはノードが何回公開されているかを確認する方法はありますか?ノード、ロジックを適用できますか?
MS トランスレータは、翻訳したいノードが初めて公開されたときにのみ機能するため、他の言語のノードのコンテンツ内のテキストを更新できるように、翻訳のためにその公開回数が必要です。
ありがとう!
Umbraco (v. 6.1.5) コンテンツのノードが既に公開されているかどうか、またはノードが何回公開されているかを確認する方法はありますか?ノード、ロジックを適用できますか?
MS トランスレータは、翻訳したいノードが初めて公開されたときにのみ機能するため、他の言語のノードのコンテンツ内のテキストを更新できるように、翻訳のためにその公開回数が必要です。
ありがとう!
ちょっとした作業ですがpublishedCount
、次のコードを使用して、ラベル プロパティをドキュメント タイプに追加し、保存するたびにこの値をインクリメントすることができます。
public class SaveEvent : ApplicationEventHandler
{
protected override void ApplicationStarted(UmbracoApplicationBase umbracoApplication, ApplicationContext applicationContext)
{
ContentService.Saving += ContentService_Saving;
}
void ContentService_Saving(IContentService sender, SaveEventArgs<IContent> e)
{
foreach (var item in e.SavedEntities)
{
if (!item.HasProperty("publishedCount"))
return;
int workingCount = item.GetValue<int>("publishedCount");
item.SetValue("publishedCount", workingCount++);
if(workingCount => 1)
{
// do additional work here
}
}
}
}
公開されたノードには常に、確認できる publishedCount プロパティがあります。
詳細については、http://our.umbraco.org/wiki/reference を参照してください。具体的な実装に関する質問は、http://our.umbraco.org で行うこともできます。
Umbraco のパブリッシュ イベントにフックを書き込み、パブリッシュされているドキュメントのノード ID を取得するのが最善の策です。データベースには、Umbraco 監査証跡の作成に使用されたデータを格納するテーブルがあり (それがどれかはわかりません)、ドキュメントが最後にいつ公開されたか、またはそこに言語ロジックを追加した回数を確認できます。以下のスレッドを参照してください: パブリッシュ イベント フックの例