十月份CMS中同一控制器中的动态formConfig

问题描述 投票:0回答:1

我正在尝试建立一家汽车租赁公司,在后端,我希望能够设置价格。但是,通过选择日期范围并遍历各个日期,可以使用两种不同(但相关)的方式来实现此目的,无论是按单个日期还是批量进行。

在控制器中,我为此定义了两个动作,分别为calendar()bulk()。我还通过设置$formConfig公共属性来选择要加载的表单字段yaml文件。我的控制器看起来像这样:

class AvailableCars extends Controller
{
    public $formConfig = 'config_form.yaml';

    public function bulk($recordId = null, $context = null)
    {
        $this->pageTitle = "Bulk update rates";
        $model = $this->formFindModelObject($recordId);
        $this->initForm($model);
    }

    public function calendar($recordId = null, $context = null)
    {
        $this->pageTitle = "Update rates for single date on calendar";
        $model = $this->formFindModelObject($recordId);
        $this->initForm($model);
    }

    public function onSave($recordId = null, $context = null)
    {
        $this->formFindModelObject($recordId)->save();
        Flash::success("Rates saved successfully");
    }
}

问题是这对one个操作有效,但是,例如,如果我放:

$this->formConfig = 'alternate_fields.yaml';

bulk()calendar()方法中,它均not覆盖行为并加载不同的config yaml文件格式;如果先前未将其定义为类属性,它甚至会出错。因此,我可以假设在以下任何一个方法中调用了此yaml文件。 所以我的问题是,有什么方法可以基于入口点来加载动态formConfig yaml文件吗?还是,这在Laravel / October中甚至是一个好习惯,还是每个控制器仅应负责做一件事情,并且只有一种创建/读取/更新/销毁模型的方法?

我正在尝试建立一家汽车租赁公司,在后端,我希望能够设置价格。但是,有两种不同(但相关)的方法来执行此操作,无论是按单个日期还是按批处理,都按...

php laravel octobercms octobercms-backend
1个回答
1
投票
您可以根据需要手动设置配置文件。但我们还需要遵循一些规则,并为其添加具有正确命名约定的必需方法。是的,如果我们正确地做的话,每件事都是好习惯:)
© www.soinside.com 2019 - 2024. All rights reserved.