如何修复手动渲染表单

时间:2019-04-09 14:53:31

标签: php octobercms october-form-controller

我正在创建一个表单视图,并且正在关注本教程(here)。

显然我的表单在工作,问题出在具有依赖性的字段中。 “单位”字段取决于“公司”字段,当我更改“公司”字段时,将显示以下消息: “类名称为“ form”的小部件尚未绑定到控制器”。

为了更好地理解,我将“ fields.yaml”文件和代码放在下面。

if not sys.warnoptions:
    warnings.simplefilter("ignore")
    os.environ["PYTHONWARNINGS"] = "ignore" # Also affect subprocesses
fields:
    company:
        label: Empresa
        emptyOption: '---'
        span: auto
        type: dropdown
    unit:
        label: Unidade
        span: auto
        dependsOn:
            - company
        type: dropdown
public function onShowCreateOpportunity()
    {
        $model = new \CRM\Events\Models\Opportunity;
        $config = $this->makeConfig('$/crm/events/models/opportunity/fields.yaml');
        $config->arrayName = 'Opportunity';
        $config->model = $model;
        $widget = $this->makeWidget('Backend\Widgets\Form', $config);
        $widget->form = $model;
        $widget->bindToController();

        $this->vars['model'] = $model;
        $this->vars['widget'] = $widget; //its for test

        return $this->makePartial('views/sales/sales_new', [
            'widget' => $widget, //its for test
        ]);
    }

如上所述,该表格正在显示,它在“ COMPANY”字段中显示了正确的值,但是,当我选择任何“ Company”时,“ UNIT”字段不会加载并显示我上面引用的消息

0 个答案:

没有答案