concrete5cojp/import_rss_pages

一个将RSS订阅导入为页面的concrete5包。

安装: 0

依赖项: 0

建议者: 0

安全: 0

星标: 0

关注者: 4

分支: 0

公开问题: 0

类型:concrete5-package

dev-master 2020-03-29 18:14 UTC

This package is auto-updated.

Last update: 2024-09-29 05:09:31 UTC


README

一个将RSS订阅导入到concrete5作为页面的concrete5插件

事件

如何自定义导入订阅的示例

/** @var \Symfony\Component\EventDispatcher\EventDispatcherInterface $director */
$director = $app->make(\Symfony\Component\EventDispatcher\EventDispatcherInterface::class);
$director->addListener('on_after_page_created_from_feed', function ($event) {
    /** @var \Symfony\Component\EventDispatcher\GenericEvent $event */
    /** @var \Concrete\Core\Page\Page $page */
    $page = $event->getArgument('page');
    /** @var \Zend\Feed\Reader\Entry\EntryInterface $item */
    $item = $event->getArgument('item');

    /** @var \Concrete\Core\Tree\Type\Topic $root */
    $root = \Concrete\Core\Tree\Type\Topic::getByName('Channel');
    if (is_object($root)) {
        $author = $item->getAuthor();
        if ($author) {
            $topic = \Concrete\Core\Tree\Node\Type\Topic::getNodeByName($author['name']);
            if (!is_object($topic)) {
                $topic = \Concrete\Core\Tree\Node\Type\Topic::add($author['name'], $root->getRootTreeNodeObject());
            }
            $page->setAttribute('topic_channel', $topic);
        }
    }
});

许可协议

MIT