parabellumkoval/backpack-schedule

Scheduled publishing for Laravel Backpack models

Installs: 2

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Watchers: 0

Forks: 0

Open Issues: 0

pkg:composer/parabellumkoval/backpack-schedule

dev-main 2026-02-07 11:45 UTC

This package is auto-updated.

Last update: 2026-02-07 11:48:05 UTC


README

Пакет для отложенной публикации записей в Laravel Backpack.

Установка

composer require parabellumkoval/backpack-schedule

Миграции

php artisan migrate

Использование

1. Добавьте трейт и интерфейс к вашей модели

use Backpack\Schedule\Contracts\SchedulableInterface;
use Backpack\Schedule\Traits\Schedulable;

class Review extends Model implements SchedulableInterface
{
    use Schedulable;
    
    // Поле, которое будет переключаться при публикации
    public function getSchedulePublishField(): string
    {
        return 'is_moderated';
    }
    
    // Значение по умолчанию для "перезаписать дату создания"
    public function getScheduleOverwriteCreatedAtDefault(): bool
    {
        return true;
    }
}

2. Добавьте поля расписания в CRUD контроллер

use Backpack\Schedule\Traits\HasScheduleFields;

class ReviewCrudController extends CrudController
{
    use HasScheduleFields;
    
    protected function setupCreateOperation()
    {
        // ... ваши поля
        
        $this->addScheduleFields(['tab' => 'Таймер']);
    }
    
    protected function setupUpdateOperation()
    {
        $this->setupCreateOperation();
    }
}

3. Настройте планировщик

В app/Console/Kernel.php:

protected function schedule(Schedule $schedule)
{
    $interval = \Settings::get('backpack.schedule.check_interval', 5);
    $schedule->command('schedule:publish')->everyMinutes($interval);
}

Настройки

Настройки доступны в админ-панели в разделе "Планировщик публикаций".

Лицензия

MIT