Content management system Concrete5 isEditMode()-类似于处理程序,用于获取有关活动编辑或发布的信息

Content management system Concrete5 isEditMode()-类似于处理程序,用于获取有关活动编辑或发布的信息,content-management-system,publishing,editing,concrete5,Content Management System,Publishing,Editing,Concrete5,所以我的问题是,是否有一个具体的5处理程序/侦听器而不是 isEditMode() 这说明用户是处于活动编辑模式还是刚刚发布了编辑 差不多 isPublished()或isEditModeActive() 泰克斯亚尔 谢谢你的关注 因此,我以第二个示例中描述的方式尝试了Eventhandler: 1.我在/config中创建了站点_events.php 2.我补充说 <?PHP Events::extendPageType('inhalt', 'on_page_version_app

所以我的问题是,是否有一个具体的5处理程序/侦听器而不是

isEditMode() 
这说明用户是处于活动编辑模式还是刚刚发布了编辑

差不多

isPublished()或isEditModeActive()

泰克斯亚尔


谢谢你的关注

因此,我以第二个示例中描述的方式尝试了Eventhandler: 1.我在/config中创建了站点_events.php 2.我补充说

<?PHP Events::extendPageType('inhalt', 'on_page_version_approve');?>

  • 我添加到site.php

    定义('ENABLE_APPLICATION_EVENTS',true)

  • 在参考的inhalt.php页面上,我添加了

    页面上的功能版本批准(){ 回声“页面发布”; }

  • 。。。什么也没发生。 在描述中写到,refferring inhalt.php必须存在于/controllers中。然而,情况并非如此。实际上,我不太理解事件处理的结构。如果你能帮我,那就太好了。。。
    无论如何,请提前感谢:)

    听起来您想要concrete5所称的事件()

    根据文档,您将获得
    页面
    作为注册函数的参数

    没有什么比你要找的更具体了,但是:

  • 对于已发布,请使用第页上的
    \u version\u approve
  • 要进行编辑,请在渲染之前在上尝试
    。它有点通用(也就是说,调用它的次数远远超过您的兴趣),但您可以执行类似于
    if($page->getCollectionCheckedOutUserID())
    的操作。不过,你应该尝试一下。例如,如果您签出主页进行编辑,然后其他人加载实时版本,则事件可能会再次被调用,
    页面
    可能会显示“签出”。但也许您可以检查
    ->isEditMode()
    ,它应该根据登录的用户进行检查

  • 我不明白你在问什么?isEditMode()告诉您用户是否处于活动编辑模式。如果用户未处于编辑模式,则会发布页面。(或者你是在问如何判断页面是否已经发布,或者页面是否处于预览模式?)我所寻找的是一种连接到发布操作的可能性。所以说,如果有人编辑了某个东西并按下“发布”按钮,就会出现类似“你的东西已经发布”的内容。我认为你误解了文档(这是可以理解的——它写得非常糟糕,而且看起来英语不是你的母语)。您需要做的是在页面类型的控制器中放置一个
    inhalt
    函数。例如,如果您的页面类型句柄是
    blog\u post
    ,那么它的控制器将位于
    /controllers/page\u types/blog\u post.php
    ,并且该文件的内容将是
    类BlogPostPageTypeController扩展控制器{public function inhalt(){…}
    尽管它可能不起作用,因为事件可能在首次执行保存操作时触发,而不是在再次查看页面时触发(即,系统在触发事件后将重定向发送回页面)。在这种情况下,您需要在会话中设置一些内容(通过
    $\u session['is\u page\u published']=true;
    ),然后阅读页面类型模板中的会话——例如,`if(!empty($\u session['is\u page\u published']){echo'page published'}感谢您的建议。到目前为止,我对C5及其结构的细节还不太了解。我的页面类型句柄与我的页面类型同名(InAlt)。。。这会引起问题吗?