我想在sugarcrm自定义模块中创建一个下拉列表,并使用糖数据库中的数据自动填充它。应从表中获取下拉选项。名称列将显示为选项显示文本,ID显示为选项值。
任何人都能帮助我吗?
答案 0 :(得分:3)
所有下拉列表都构建在custom / include / language语言文件中,并存储在名为$ app_list_strings的数组中。基本上你要做的是在语言文件中运行查询,然后使用结果为该下拉列表构建数组。
如果您查看现有示例,您会看到类似的内容。
$GLOBALS['app_list_strings']['drop_down_name'] = array(
'dropdown_value'=>'Dropdown Display',
'dropdown_value2'=>'Dropdown Display2',
);
如果您执行以下操作:
$new_array = array();
while($row = $db->fetchByAssoc($result)) {
$new_array[$row['key']] = $row['value'];
}
$GLOBALS['app_list_strings']['dropdown'] = $new_array;
你将完成你需要的东西
答案 1 :(得分:0)
你可以创建功能字段。在函数内部,编写用于从数据库中获取数据的逻辑,然后使用关联数组返回它。请参阅以下代码以供参考:
字段定义:
$dictionary['MODULENAME']['fields']['FIELDNAME']['function'] = 'getActiveReleases';
功能:
function getActiveReleases()
{
$query = "SELECT id, name FROM releases where deleted=0 and status='Active' order by list_order asc";
$result = $GLOBALS['db']->query($query, false);
$list = array();
$list['']='';
while (($row = $GLOBALS['db']->fetchByAssoc($result)) != null) {
$list[$row['id']] = $row['name'];
}
return $list;
}