novactive/ezrssfeedbundle

A bundle used to generate RSS feeds based on ez contents

Installs: 14 697

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Watchers: 17

Forks: 3

Open Issues: 0

Type:ezplatform-bundle

v3.2.0 2024-10-21 08:58 UTC

README

This repository is what we call a "subtree split": a read-only copy of one directory of the main repository. It is used by Composer to allow developers to depend on specific bundles.

If you want to report or contribute, you should instead open your issue on the main repository: https://github.com/Novactive/Nova-eZPlatform-Bundles

Documentation is available in this repository via .md files but also packaged here: https://novactive.github.io/Nova-eZPlatform-Bundles/master/RssFeedBundle/README.md.html

Downloads Latest version License

Installation steps

Use Composer

Add the lib to your composer.json, run composer require novactive/ezrssfeedbundle to refresh dependencies.

Then inject the bundle in the bundles.php of your application.

   Novactive\EzRssFeedBundle\EzRssFeedBundle::class => [ 'all'=> true ],

Add routes

Make sure you add this route to your routing:

# config/routes.yaml

EzRssFeedBundle:
    resource: '@EzRssFeedBundle/Resources/config/routing.yml'

Import database tables

Rss Bundle uses custom database tables to store data. Use the following command to add the tables to your eZ Publish database:

$ php bin/console doctrine:schema:update 

Clear the caches

Clear the eZ Publish caches with the following command:

$ php app/console cache:clear

Install and dump assets

Run the following to correctly install and dump assets for admin UI. Make sure to use the correct Symfony environment with --env parameter:

$ php app/console assets:install --symlink --relative

Templating

A default view "rss_line" was created with an associated default template. The override rule supports all types of content items.

If you want to implement a particular view for a content type just do it like this:

system:
    default:
        content_view:
            rss_line:
                article:
                    template: "AcmeBlogBundle:eZViews:line/article.html.twig"
                    match:
                        Identifier\ContentType: [article]

To render meta link tag into your page head :

{{ render(controller('Novactive\\\EzRssFeedBundle\\Controller\\RssFeedViewController::rssHeadLinkTagsAction')) }}

Custom SiteListService

As default Novactive\EzRssFeedBundle\Services\SiteListService is implemented to fetch for Site Accesses list To do your own implementation you have to implement the given Interface : Novactive\EzRssFeedBundle\Services\SiteListServiceInterface then config your service as following :

Services:
  Novactive\EzRssFeedBundle\Services\SiteListServiceInterface: '@your_own.service_alias'

Site label Translation

You can add site accesses translations with novarss_sites translation domain. Inside your locale file (example novarss_sites.fr.yaml) put your translation as following :

site_access_identifier: My site

Note : This translation is enabled using the default SiteListService

HTTP caching

The NOVAEZRSSFEED_CACHE_TTL ENV var control the HTTP cache behavior:

  • null => public + expire at 0h00
  • 0 => private
  • <int> => public + s-maxage of <int>