2016-10-04 51 views
0

在用于Kentico 9项目的visual studio 2015中,我创建了放置在主页上的自定义Web部件。它有一个Page_PreRender方法,用当前的日期和时间检查紧急页面的日期和时间,如果时间戳存在差异,并且时间戳的差异在当前时间的24小时内一个紧急图标会一直闪烁,直到24小时的时间结束,或者他们会再次点击Save buton按钮更新紧急情况页面。我还有一个计数器来检查保存按钮被点击的次数。上面的数据是从数据库中查询的,因为点击保存按钮时会保存时间戳等。简而言之,保存紧急页面并且紧急图标开始闪烁。如果再次单击保存按钮(第二次),它会切换紧急图标的闪烁。如果突发事件页面内容发生变化,但这种情况非常必要,但是没有真正的/紧急的突发事件,需要闪烁的紧急图标才能让用户意识到。Kentico 9和发布按钮

当Kentico没有适当的工作流程时,由于添加了工作流程并且有一个发布/拒绝按钮。点击“发布”按钮使紧急图标闪烁,并最终进入“保存”按钮和“发布”按钮之间的战斗。我可以关闭紧急页面的WorkFlow,但希望查看是否有方法检查发布按钮是否被点击。

我的问题是如何在if条件中使用Kentico按钮保存/发布/拒绝等来检查在Page_PreRender方法中单击了哪个按钮?

回答

1

这里有几个选项:

工作流程
  1. 配置自动发布
  2. 实施这个特定页面的单独工作流程,不需要审批

要回答你的问题关于如何检查点击哪个按钮 - 检查文档是否已发布:

publishe d将意味着发布按钮被点击,否则 - 保存

+0

好的,谢谢你的回复。我会看看你的第三个选项,检查页面/文档是否处于发布状态。对于选项1,我不希望进行自动发布,并且像我说的那样,我可以(从关闭页面中关闭/排除)工作流程,但希望查看是否有方法检查发布按钮是否已单击。 –

+0

谢谢罗马。在数据库中使用DocumentWorkflowStepID来查看文档是处于“保存”还是“发布”状态。 –

0

您可以扎入publish event告诉当文件被发布:

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

只是一个建议,也许会更容易只图标是否基于最新发布的文档版本而闪烁?可能在紧急文档上有一个字段,它是一个布尔值,可以显示或不显示闪烁的图标,如果他们想禁用它,只需取消选中并发布即可。

+0

谢谢Zach。试图实现闪烁的第二个按钮。他们不同意。 “占用空间”:-)好的建议是在发布部分进行检查,但更喜欢保存,因为如果他们发布并且在发布时间内看到内容中有错误,则主版本号将会增加一个当您尝试再次保存它而不是次要版本号时。 –