2016-10-04 5 views
0

Kentico 9プロジェクトのビジュアルスタジオ2015では、ホームページに配置されたカスタムWebパーツを作成しました。これはPage_PreRenderメソッドを持ち、緊急ページの日付と時刻を現在の日付と時刻でチェックし、タイムスタンプに差異があり、タイムスタンプの差が現在の時刻の24時間以内である場合24時間が経過するまで緊急アイコンが点滅するか、Saveボタンを再度クリックして緊急ページを更新します。また、保存ボタンがクリックされた回数を確認するカウンタもあります。保存ボタンをクリックすると、タイムスタンプなどが保存されるため、上記のデータはデータベースから照会されます。短いクリックで、緊急ページを保存すると、緊急アイコンが点滅を開始します。保存ボタンをもう一度クリックすると(2回目)、緊急アイコンの点滅が切り替わります。これは、緊急ページの内容が変更されたが、ユーザに知らせるために点滅する緊急アイコンを保証する現実/即時の緊急事態がない場合に必要であった。Kentico 9と公開ボタン

上記は、Kenticoのワークフローがなかったときに機能しました。ワークフローが追加され、公開/拒否ボタンがあるため。 [公開]ボタンをクリックすると、緊急アイコンが点滅し、[保存]ボタンと[公開]ボタンの間の戦いになります。 EmergencyページのWorkFlowをオフにすることはできますが、公開ボタンがクリックされたかどうかを確認する方法があるかどうかを確認する必要があります。

私の質問は、どの条件で、KenticoボタンSave/Publish/Rejectなどを使用してPage_PreRenderメソッドでクリックされたかを確認する方法です。

答えて

1

ここではオプションのカップルがあります:

  1. 設定自動パブリッシングワークフロー
  2. では、あなたの質問に答えるために承認

を必要としない、この特定のページに個別のワークフローを実装しますどのボタンがクリックされたかを確認する方法 - 文書が現在公開されているかどうかを確認する:

publishe dがそうでない場合、それはボタンがクリックされた公開意味するだろう - 保存

+0

お返事ありがとうございます。ページ/ドキュメントがパブリッシュ状態になっているかどうかをチェックする、3番目のオプションを調べます。オプション1の場合、私は自動発行を望んでいませんが、2の場合、ワークフローを緊急時ページから(オフ/除外)できますが、公開ボタンがクリックされたかどうかを確認する方法があるかどうかを確認したいと考えました。 –

+0

ローマ様ありがとうございます。ドキュメントがSaveまたはPublish状態であるかどうかを確認するには、データベース内のDocumentWorkflowStepIDを使用します。 –

0

あなたはドキュメントが公開されたときに教えてpublish eventに結び付けることができます唯一持っている

public class CustomWorkflowEventsAttribute : CMSLoaderAttribute 
{ 
    public override void Init() 
    { 
     WorkflowEvents.Publish.Before += PublishDocument; 
    } 

だけの提案は、多分それは容易になるだろうアイコンは、最後に公開されたバージョンの文書に基づいていますか?おそらく、緊急用文書に、点滅するアイコンを表示するかどうかを表示するブールであるフィールドがあります。無効にするには、チェックを外して公開するだけです。

+0

ザックありがとうございます。点滅のための2番目のボタンを実装しようとしました。彼らは同意しなかった。 「スペースを取ってください」:-)公開部分のチェックを行うことを推奨しますが、保存するだけの方がいいです。なぜなら、公開した時点では、コンテンツに間違いがあり、メジャーバージョン番号が1つ上がることになるからですマイナーバージョン番号の代わりに再度保存しようとしたときに発生します。 –

関連する問題