无法为 select 对象 Zend Framework 2 设置多个值选项
Not able to set more than one value option for select object Zend Framework 2
我正在尝试用一组选项填充 Zend Framework 2 中的 select 对象。基本上,我试图获取所有目录并将它们设置为选项值和标签,但是当存在多个目录时,它只将一个目录写为选项值。这是我的代码:
$form = new AddPhotosForm();
foreach (glob(getcwd() . '/public/images/profile/' . $identity . '/albums/*', GLOB_ONLYDIR) as $dir) {
$form->get('copy-from-album')->setValueOptions(array(
array(
'value' => basename($dir), 'label' => basename($dir)
)
));
}
当我查看该选项时,它列出了最后一个目录,而不是所有目录。我认为它正在覆盖存储的值,但我不知道如何不让这种情况发生。
这里是我的问题的截图,如果有帮助的话:http://imgur.com/RbfGoIo
目录列表截图:http://imgur.com/bZQgNcW
正如我之前所说,它只在 select 下拉菜单中显示目录测试 album_2017_07_14。
如有任何帮助,我们将不胜感激。
谢谢!
您应该将 setValueOptions 移出 foreach。
$options = array();
foreach (glob(getcwd() . '/public/images/profile/' . $identity . '/albums/*', GLOB_ONLYDIR) as $dir) {
$options[] = array(
'value' => basename($dir), 'label' => basename($dir)
);
}
$form->get('copy-from-album')->setValueOptions($options);
问题是 setValueOptions 设置了您的 select 的值,但没有附加新值。
我正在尝试用一组选项填充 Zend Framework 2 中的 select 对象。基本上,我试图获取所有目录并将它们设置为选项值和标签,但是当存在多个目录时,它只将一个目录写为选项值。这是我的代码:
$form = new AddPhotosForm();
foreach (glob(getcwd() . '/public/images/profile/' . $identity . '/albums/*', GLOB_ONLYDIR) as $dir) {
$form->get('copy-from-album')->setValueOptions(array(
array(
'value' => basename($dir), 'label' => basename($dir)
)
));
}
当我查看该选项时,它列出了最后一个目录,而不是所有目录。我认为它正在覆盖存储的值,但我不知道如何不让这种情况发生。
这里是我的问题的截图,如果有帮助的话:http://imgur.com/RbfGoIo
目录列表截图:http://imgur.com/bZQgNcW
正如我之前所说,它只在 select 下拉菜单中显示目录测试 album_2017_07_14。
如有任何帮助,我们将不胜感激。
谢谢!
您应该将 setValueOptions 移出 foreach。
$options = array();
foreach (glob(getcwd() . '/public/images/profile/' . $identity . '/albums/*', GLOB_ONLYDIR) as $dir) {
$options[] = array(
'value' => basename($dir), 'label' => basename($dir)
);
}
$form->get('copy-from-album')->setValueOptions($options);
问题是 setValueOptions 设置了您的 select 的值,但没有附加新值。