ezpublish:想要获得新评论并将其删除

时间:2012-03-30 07:00:31

标签: ezpublish

在ezpublish扩展中,我需要知道何时创建新评论并获取有关它的所有信息。

我在博客中看到一个对象可以用这个:

$currentNode = eZContentObjectTreeNode::fetch($nodeId);

但我的问题是,评论是ezContentObject吗?

是否可以删除评论?

谢谢: - )

3 个答案:

答案 0 :(得分:1)

有几种方法可以用eZ Publish建立论坛,你问题的答案取决于你选择的是哪一个。

让我解决几个问题,这可以帮助我们帮助

  • 您使用的是默认的标准软件包,例如“eZ Website Interface”(又名ezwebin)还是eZ Flow?
  • 您的eZ Publish实例是否启用了“ezcomments”扩展程序? (您可以通过以下网址查看后台办公室:/ setup / extensions)

干杯,

答案 1 :(得分:1)

如果您的评论作为内容对象处理(基本上如果您不使用eZ评论),则可以使用您通常在模板中使用的相同语法在PHP中检索最新评论( http://doc.ez.no/eZ-Publish/Technical-manual/4.x/Reference/Modules/content/Fetch-functions/tree),例如:

$params = array( 'ClassFilterType' => 'include',
                 'ClassFilterArray' => array( 'comment' ),
                 'SortBy' => array( 'published', true ),
                 'Offset' => 0,
                 'Limit' => 1 );

$lastComment = eZContentObjectTreeNode::subTreeByNodeID( $params, 2 );

请注意,您可能需要将类标识符更改为与 comment (这是安装eZ Webin或eZ Flow时的默认值)不同的内容,以及您将的父node_id >浏览您的内容子树(在我的示例中 2

然后,如果要删除该内容,可以在其中一个模块/视图中获取一段代码:

  • content / removenode(在kernel / content / removenode.php中定义)
  • content / removeobject(在kernel / content / removeobject.php中定义)

从内容存储库中删除内容对象时要小心,有几个操作要完成:

  • 删除位置(实际上我们称之为节点)
  • 删除对象
  • 在某些情况下清除缓存

希望这有帮助

答案 2 :(得分:0)

这实际上取决于您用来处理评论的扩展程序。通用eZ发布注释作为内容处理。但是,新的eZ Comments扩展不会将注释视为内容,而是以不同方式处理。要访问eZ Comments,您必须查看eZ Comments类和模块目录。也就是说,eZ Comments预先包装了模板处理,因此您应该能够在模板级别完成所需的一切。