ezpublish: хотите получить новый комментарий и удалить его - PullRequest
0 голосов
/ 30 марта 2012

В расширении ezpublish мне нужно знать, когда создается новый комментарий, и получать всю информацию о нем.

Я видел в блоге, что объект можно получить с помощью этого:

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

но мой вопрос: комментарий - это ezContentObject?

И можно ли удалить комментарий?

Спасибо: -)

Ответы [ 3 ]

1 голос
/ 02 апреля 2012

Если ваши комментарии обрабатываются как объекты содержимого (в основном, если вы не используете комментарии 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 или eZFlow) и родительский node_id, из которого вы просмотрите ваше поддерево контента (в моем примере это 2 .

Затем, если вы хотите удалить этот контент,Вы можете взять фрагмент кода в одном из следующих модулей / представлений:

  • content / removenode (определен в kernel / content / removenode.php)
  • content / removeobject (определен вkernel / content / removeobject.php)

Будьте осторожны, при удалении объекта контента из вашего хранилища контента необходимо выполнить несколько операций:

  • удалить местоположение (s)) (чтоt мы на самом деле называем узел (ы)
  • удалить объект
  • очистить кеш в некоторых случаях

Надеюсь, это поможет

1 голос
/ 30 марта 2012

Существует несколько способов создания форумов с помощью eZ Publish, и ответ на ваш вопрос зависит от того, какой из них вы выбрали.

Позвольте мне задать пару вопросов, которые должны помочь нам помочь you :

  • Используете ли вы стандартный пакет по умолчанию, такой как "eZ Website Interface" (он же ezwebin) или eZ Flow?
  • Включено ли расширение ezcomments в вашем экземпляре eZ Publish? (вы можете проверить это в бэк-офисе по следующему адресу: / setup / extensions)

Приветствия

0 голосов
/ 01 апреля 2012

Это действительно зависит от того, какое расширение вы используете для обработки ваших комментариев. Общие комментарии публикации eZ обрабатываются как контент. Однако новое расширение eZ Comments не обрабатывает комментарии как контент и обрабатывается по-другому. Чтобы получить доступ к комментариям eZ, вам нужно взглянуть на классы и каталоги модулей комментариев eZ. Тем не менее, eZ Comments поставляется в комплекте с обработкой шаблонов, поэтому вы должны иметь возможность делать все, что вам нужно делать на уровне шаблонов.

...