umanit / content-publication-bundle
A simple yet efficient publishing bundle.
Installs: 1 831
Dependents: 0
Suggesters: 0
Security: 0
Stars: 2
Watchers: 5
Forks: 2
Open Issues: 0
Type:symfony-bundle
pkg:composer/umanit/content-publication-bundle
Requires
- php: ^7.4|^8.0
- doctrine/doctrine-bundle: ^2.7
- doctrine/orm: ^2.13
- symfony/framework-bundle: ^5.4|^6.0
README
A simple yet efficient publishing bundle.
Install
Register the bundle to your 'app/AppKernel.php'
new Umanit\ContentPublicationBundle\UmanitContentPublicationBundle(),
Usage
Make your entity publishable
Implement the interface PublishableInterface and use the trait PublishableTrait.
<?php namespace App\Entity\Content; use Doctrine\ORM\Mapping as ORM; use Umanit\ContentPublicationBundle\Doctrine\Model\PublishableInterface; use Umanit\ContentPublicationBundle\Doctrine\Model\PublishableTrait; #[ORM\Table(name: 'news')] #[ORM\Entity] class News implements PublishableInterface { use PublishableTrait; }
This will add two fields to your entity, publishDate and unpublishDate.
All your content will then be displayed only when the current datetime is between those fields.
(Optional) Disable the filter for a specific firewall
Usually you'll need to administrate your contents.
For doing so, you can disable the filter by configuring the disabled_firewalls option.
# config/packages/umanit_content_publication.yaml umanit_content_publication: disabled_firewalls: ['admin']
To follow this example, you'll need to add the admin firewall to your `security.yml file.
Check out the Symfony documentation for more details.