0

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

我在博客中看到可以通过以下方式获取对象:

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

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

是否可以删除评论?

谢谢 :-)

4

3 回答 3

1

使用 eZ Publish 建立论坛有多种方法,您的问题的答案取决于您选择哪一种。

让我提出几个问题,这应该可以帮助我们帮助

  • 您是否使用默认的标准包,如“eZ 网站界面”(又名 ezwebin)或 eZ Flow?
  • 您的 eZ Publish 实例上是否启用了“ezcomments”扩展?(您可以在后台查看此信息,网址为:/setup/extensions)

干杯,

于 2012-03-30T13:50:32.783 回答
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 );

请注意,您可能需要将类标识符更改为不同于注释(这是安装 eZ Webin 或 eZ Flow 时的默认值)和您将浏览内容子树的父节点 ID(在我的示例中为2 .

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

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

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

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

希望这可以帮助

于 2012-04-02T15:49:11.123 回答
0

这实际上取决于您使用哪个扩展来处理您的评论。Generic eZ Publish 评论作为内容处理。但是,新的 eZ 评论扩展不会将评论视为内容,并且处理方式有所不同。要访问 eZ Comments,您必须查看 eZ Comments 类和模块目录。也就是说,eZ Comments 预装了模板处理,因此您应该能够在模板级别执行您需要执行的所有操作。

于 2012-03-31T22:16:27.587 回答