如何使用sugarcrm表格中的数据自动填充下拉框?

如何使用sugarcrm表格中的数据自动填充下拉框?,sugarcrm,suitecrm,Sugarcrm,Suitecrm,我想在sugarcrm自定义模块中创建一个下拉列表,并使用sugar数据库中的数据自动填充它。应该从表中获取下拉选项。名称列将显示为选项显示文本,ID显示为选项值 有人能帮我吗?所有下拉列表都构建在自定义/包含/语言的语言文件中,并存储在名为$app\u list\u strings的数组中。基本上,您要做的是在语言文件中运行查询,然后使用结果为该下拉列表构建数组 如果您查看现有的示例,您将看到类似的内容 $GLOBALS['app_list_strings']['drop_dow

我想在sugarcrm自定义模块中创建一个下拉列表,并使用sugar数据库中的数据自动填充它。应该从表中获取下拉选项。名称列将显示为选项显示文本,ID显示为选项值


有人能帮我吗?

所有下拉列表都构建在自定义/包含/语言的语言文件中,并存储在名为$app\u list\u 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;

您将完成所需的工作

您可以创建函数字段。在函数内部,编写从数据库获取数据的逻辑,然后使用关联数组返回数据。参考以下代码:

字段定义:

$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;
}
功能:

$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;
}

我认为$db=DBManagerFactory::getInstance($instanceName)$myQuery=“从sugarcm.PROVINCIAS中选择PRO_CODIGO、PRO_descripp”$结果=$db->query($myQuery);您的回复中缺少。您是正确的,我没有包括检索数据的整个查询,只是从这一点开始的所有内容