在我的ZF2应用程序中,我有几个带有注入数据库适配器的自定义表单元素。我使用方法将配置放在module.php文件中,如下所示:
var Dimension = dim.dimension(function(d) {
return [d.columnA, d.columnB, d.columnC];
});
var Measure = Dimension.group().reduceSum(function(d) {
if (d.columnA === 'Value_in_columnA') {
return d.columnD;
} else {
return 0;
}
});
如何在zend-expressive应用程序中配置自定义表单元素?
答案 0 :(得分:0)
Form类通过'FormElementManger'调用元素。和FormElementManager从config读取'form_elements'键。它基本上是一个容器(服务管理器),所以你必须配置它与容器(工厂,invokables,别名等)相同。此外,您必须将Zend / Form模块注册到容器。我没有尝试过,但必须这样做;
(ps:现在为时已晚,如果它不起作用,请告诉我,以便我可以提供一个有效的例子。)
class MyModule\ConfigProvider {
public function __invoke()
{
return [
'dependencies' => $this->getDependencies(),
'templates' => $this->getTemplates(),
'form_elements => [
/* this is where you will put configuration */
'factories' => [
MyElement::class => MyElementFactory::class,
]
]
];
}
}