在针对Kentico 9项目的visual studio 2015中,我创建了一个放置在主页上的自定义Web部件。它有一个Page_PreRender方法,用当前日期和时间检查紧急页面的日期和时间,如果时间戳有差异,时间戳的差异在当前时间的24小时内,紧急图标闪烁直到24小时结束,或者他们再次单击“保存按钮”更新紧急页面。我还有一个计数器来检查单击“保存”按钮的次数。从数据库中查询上述数据,因为单击“保存”按钮时会保存时间戳等。简而言之,单击一下,保存紧急页面,紧急图标开始闪烁。如果再次单击“保存”按钮(第二次),则会切换紧急图标的闪烁。如果紧急页面内容发生了变化,但没有真正/紧急的紧急情况需要闪烁的紧急图标让用户知晓,这是必要的。
当我们没有Kentico的工作流程时,上述工作正常。由于添加了工作流程并且有发布/拒绝按钮。单击“发布”按钮可使紧急图标闪烁,最后您将在“保存”按钮和“发布”按钮之间进行战斗。我可以关闭紧急页面的WorkFlow,但想知道是否有办法检查是否单击了发布按钮。
我的问题是如何在if条件下使用Kentico按钮保存/发布/拒绝等来检查在Page_PreRender方法中单击了哪个按钮?
答案 0 :(得分:1)
这里有几个选项:
要回答有关如何检查单击哪个按钮的问题,请检查当前是否发布了文档:
已发布意味着已单击“发布”按钮,否则 - “保存”
答案 1 :(得分:0)
您可以绑定到publish event以告知文档何时发布:
public class CustomWorkflowEventsAttribute : CMSLoaderAttribute
{
public override void Init()
{
WorkflowEvents.Publish.Before += PublishDocument;
}
只是一个建议,也许根据最后发布的文档版本只有图标闪存会更容易?也许在紧急文档上有一个字段,可以显示或不显示闪烁图标,如果要禁用它,只需取消选中并发布即可。