/** * Populates a feed entry with data coming from Package objects. * * @param \Zend\Feed\Writer\Entry $entry * @param Package $package */ protected function populatePackageData(Entry $entry, Package $package) { $entry->setTitle($package->getName()); $entry->setLink($this->generateUrl('view_package', array('name' => $package->getName()), true)); $entry->setId($package->getName()); $entry->setDateModified($package->getCreatedAt()); $entry->setDateCreated($package->getCreatedAt()); $entry->setDescription($package->getDescription() ?: ' '); }
public function testSetLinkThrowsExceptionOnInvalidUri() { $entry = new Writer\Entry(); try { $entry->setLink('http://'); $this->fail(); } catch (Writer\Exception $e) { } }
/** * RSS feed * * @param Request $request * * @return Response * * @Route("/blog/rss", name="blog_rss") */ public function rssAction(Request $request) { $feed = new Feed(); $config = $this->container->getParameter('stfalcon_blog.config'); $feed->setTitle($config['rss']['title']); $feed->setDescription($config['rss']['description']); $feed->setLink($this->generateUrl('blog_rss', array(), true)); $posts = $this->get('doctrine')->getManager()->getRepository("StfalconBlogBundle:Post")->getAllPublishedPosts($request->getLocale()); /** @var Post $post */ foreach ($posts as $post) { $entry = new Entry(); $entry->setTitle($post->getTitle()); $entry->setLink($this->generateUrl('blog_post_view', array('slug' => $post->getSlug()), true)); $feed->addEntry($entry); } $response = new Response($feed->export('rss')); $response->headers->add(array('Content-Type' => 'application/xml')); return $response; }