Scheduler est un module drupal qui permet, pour un contenu, de définir une date de publication et/ou une date de dépublication.
Par défaut, il ne s'interface qu'avec les noeuds (Node), mais depuis la version 2.x il est possible de l'interfacer avec des type entités custom, attention : uniquement si elle possède des bundle, cela ne fonctionnera pas pour un type d'entité sans bundle. (Issue drupal sur le sujet : https://www.drupal.org/project/scheduler/issues/3355087)
Si c'est le cas, alors il est très facile de définir que votre type d'entité doit être « schedulable », il suffit de créer un plugin dans le dossier src/Plugin/Scheduler de votre module.
Dans mon cas mon type d'entité s'appelle Annonce (id : annonce) j'ai donc créé la classe /modules/custom/mon_module/src/Plugin/Scheduler/AnnonceScheduler.php avec le contenu suivant :
<?php
namespace Drupal\mon_module\Plugin\Scheduler;
use Drupal\Core\Plugin\ContainerFactoryPluginInterface;
use Drupal\scheduler\SchedulerPluginBase;
/**
* Plugin for Annonce entity type.
*
* @package Drupal\Scheduler\Plugin\Scheduler
*
* @SchedulerPlugin(
* id = "annonce_scheduler",
* label = @Translation("Annonce Scheduler Plugin"),
* description = @Translation("Provides support for scheduling Annonce entities"),
* entityType = "annonce",
* dependency = "mon_module",
* )
*/
class AnnonceScheduler extends SchedulerPluginBase implements ContainerFactoryPluginInterface {}Videz votre cache, et vous pourrez alors modifier les paramètres directement sur la configuration du bundle de votre type d'entité :
Ajouter un commentaire