添加新字段时出现此警告
警告:为C:wampwww sugar - ce - full -6.5.16modulesModuleBuilderviewsview.modulefield.php中的foreach()提供的参数无效
{"东":{"标题":"编辑字段","面包屑":","内容":"& lt;/div> n n
我能做些什么来解决它
foreach ( $module->mbvardefs->vardefs['fields'] as $field )
{
if ($field [ 'type' ] == 'enum' || $field [ 'type'] == 'multienum' )
{
$triggers [] = $field [ 'name' ] ;
}
if (!isset($field['source']) || $field['source'] != 'non-db') {
if(preg_match('/^(.*?)(_c)?$/', $field['name'], $matches))
{
$existing_field_names [] = strtoupper($matches[1]);
}
}
}
我以前见过这种情况,据我所知,这是Studio不喜欢系统中的某些字段的错误。这些字段可能是用旧版本的SugarCRM创建的,或者是由不太出色的第三方插件引入的。无论哪种方式,如果您将php设置更改为display_errors=Off
,则此问题将消失。
进一步,对你所看到的东西学究…页面正在等待来自系统的AJAX响应。响应应该是JSON或其他,但附加到响应是一个PHP警告或通知。这会导致输出的格式和内容不一致,因此页面上的JavaScript无法正确处理它。
如果你想找到问题的上游来源,转到/custom/modules/MyModule/Ext/Vardefs/Vardefs .php并查找丢失的内容。当你收到此消息时,将"MyModule"替换为你正在编辑的模块的名称。
这意味着您创建了没有值的字段。您应该在代码的某个地方运行这样的代码:
$module->mbvardefs->vardefs['fields'][] = array ('type' => 'enum', 'name' => 'blabla');
在foreach循环中使用该变量。但我不是sugarcrm系统所以这只是一个提示