surda/datetime-period

Nette 框架的日期时间周期控制

v1.0.0 2019-10-16 13:27 UTC

This package is auto-updated.

Last update: 2024-09-17 00:20:47 UTC


README

Build Status Licence Latest stable PHPStan

安装

推荐方式是通过 Composer

composer require surda/datetime-period

之后,您需要在 config.neon 中注册扩展

extensions:
    monthPeriod: Surda\DateTimePeriod\DI\MonthPeriodExtension

配置

默认值

monthPeriod:
    templates:
        default: bootstrap4.default.latte
    useAjax: FALSE

使用方法

演示者

use Surda\DateTimePeriod\MonthPeriod\MonthPeriod;
use Surda\DateTimePeriod\MonthPeriod\MonthPeriodControl;
use Surda\DateTimePeriod\MonthPeriod\TMonthPeriod;

class ProductPresenter extends Nette\Application\UI\Presenter
{
    use TMonthPeriod;

    public function actionDefault(): void
    {
        /** @var MonthPeriodControl $mp */
        $mp = $this->getComponent('mp');

        /** @var MonthPeriod $monthPeriod */
        $monthPeriod = $mp->getMonthPeriod();
    }
}

模板

{control mp} or {control mp template} 

自定义选项

class ProductPresenter extends Nette\Application\UI\Presenter
{
    /**
     * @return MonthPeriodControl
     */
    protected function createComponentMp(): MonthPeriodControl
    {
        $control = $this->monthPeriodControlFactory->create();

        $control->onChange[] = function (MonthPeriodControl $control, MonthPeriod $monthPeriod): void {
            $this->redirect('this');
        };

        return $control;
    }
}