concrete/src/Entity/Page/Feed.php
public function getOutput($request = null)
    {
        $pl = $this->getPageListObject();
        $link = false;
        if ($this->cParentID) {
            $parent = Page::getByID($this->cParentID);
            $link = $parent->getCollectionLink();
        } else {
            $link = \URL::to('/');
        }
        $pagination = $pl->getPagination();
        $results = $pagination->getCurrentPageResults();
        if (count($results)) {
            $writer = new \Zend\Feed\Writer\Feed();
            $writer->setTitle($this->getTitle());
            $writer->setDescription($this->getDescription());
            if ($this->getIconFileID()) {
                $f = \File::getByID($this->getIconFileID());
                if (is_object($f)) {
                    $data = [
                        'uri' => $f->getURL(),
                        'title' => $f->getTitle(),
                        'link' => (string) $link,
                    ];
                    $writer->setImage($data);
                }
            }
            $writer->setLink((string) $link);

            foreach ($results as $p) {
                $entry = $writer->createEntry();
                $entry->setTitle($p->getCollectionName());
                $entry->setDateCreated(strtotime($p->getCollectionDatePublic()));
                $content = $this->getPageFeedContent($p);
                if (!$content) {
                    $content = t('No Content.');
                }
                $entry->setDescription($content);
                $entry->setLink((string) $p->getCollectionLink(true));
                $writer->addEntry($entry);
            }

            $ev = new FeedEvent();
            if (isset($parent)) {
                $ev->setPageObject($parent);
            }
            $ev->setFeedObject($this);
            $ev->setWriterObject($writer);
            $ev->setRequest($request);

            $ev = \Events::dispatch('on_page_feed_output', $ev);

            $writer = $ev->getWriterObject();

            return $writer->export('rss');
        }
    }
public function getOutput($request = null)
    {
        $pl = $this->getPageListObject();
        $link = false;
        if ($this->cParentID) {
            $parent = Page::getByID($this->cParentID);
            $link = $parent->getCollectionLink();
        } else {
            $link = \URL::to('/');
        }
        $pagination = $pl->getPagination();
        $results = $pagination->getCurrentPageResults();
        if (count($results)) {
            $writer = new \Zend\Feed\Writer\Feed();
            $writer->setTitle($this->getTitle());
            $writer->setDescription($this->getDescription());
            if ($this->getIconFileID()) {
                $f = \File::getByID($this->getIconFileID());
                if (is_object($f)) {
                    $data = [
                        'uri' => $f->getURL(),
                        'title' => $f->getTitle(),
                        'link' => (string) $link,
                    ];
                    $writer->setImage($data);
                }
            }
            $writer->setLink((string) $link);

            foreach ($results as $p) {
                $entry = $writer->createEntry();
                $entry->setTitle($p->getCollectionName());
                $entry->setDateCreated(strtotime($p->getCollectionDatePublic()));
                $content = $this->getPageFeedContent($p);
                if (!$content) {
                    $content = t('No Content.');
                }
                $entry->setDescription($content);
                $entry->setLink((string) $p->getCollectionLink(true));
                $writer->addEntry($entry);
            }

            $ev = new FeedEvent();
            if (isset($parent)) {
                $ev->setPageObject($parent);
            }
            $ev->setFeedObject($this);
            $ev->setWriterObject($writer);
            $ev->setRequest($request);

            $ev = \Events::dispatch('on_page_feed_output', $ev);

            $writer = $ev->getWriterObject();

            return $writer->export('rss');
        }
    }
public function getOutput ( $ request = null ) { $ pl = $ this -> getPageListObject ( ) ; $ link = false ; if ( $ this -> cParentID ) { $ parent = Page :: getByID ( $ this -> cParentID ) ; $ link = $ parent -> getCollectionLink ( ) ; } else { $ link = \ URL :: to ( '/' ) ; } $ pagination = $ pl -> getPagination ( ) ; $ results = $ pagination -> getCurrentPageResults ( ) ; if ( count ( $ results ) ) { $ writer = new \ Zend \ Feed \ Writer \ Feed ( ) ; $ writer -> setTitle ( $ this -> getTitle ( ) ) ; $ writer -> setDescription ( $ this -> getDescription ( ) ) ; if ( $ this -> getIconFileID ( ) ) { $ f = \ File :: getByID ( $ this -> getIconFileID ( ) ) ; if ( is_object ( $ f ) ) { $ data = [ 'uri' => $ f -> getURL ( ) , 'title' => $ f -> getTitle ( ) , 'link' => ( string ) $ link , ] ; $ writer -> setImage ( $ data ) ; } } $ writer -> setLink ( ( string ) $ link ) ; foreach ( $ results as $ p ) { $ entry = $ writer -> createEntry ( ) ; $ entry -> setTitle ( $ p -> getCollectionName ( ) ) ; $ entry -> setDateCreated ( strtotime ( $ p -> getCollectionDatePublic ( ) ) ) ; $ content = $ this -> getPageFeedContent ( $ p ) ; if ( ! $ content ) { $ content = t ( 'No Content.' ) ; } $ entry -> setDescription ( $ content ) ; $ entry -> setLink ( ( string ) $ p -> getCollectionLink ( true ) ) ; $ writer -> addEntry ( $ entry ) ; } $ ev = new FeedEvent ( ) ; if ( isset ( $ parent ) ) { $ ev -> setPageObject ( $ parent ) ; } $ ev -> setFeedObject ( $ this ) ; $ ev -> setWriterObject ( $ writer ) ; $ ev -> setRequest ( $ request ) ; $ ev = \ Events :: dispatch ( 'on_page_feed_output' , $ ev ) ; $ writer = $ ev -> getWriterObject ( ) ; return $ writer -> export ( 'rss' ) ; } }
Get the feed output in RSS form given a Request object.

@param Request|null $request

@return string|null The full RSS output as a string
Get the feed output in RSS form given a Request object .