前段时间我在这里问了一个关于为 SugarCRM 设置数据库填充下拉列表的问题。我收到了一个非常好的答案,在更多的 php 研究和一个开发实例运行之后,我决定试一试。我遵循的说明可以在这里找到。在我运行修复和重建后,我希望在工作室模块下的字段列表中看到自定义字段,但无法找到它。该模块被命名为 Makers(a1_makers 作为数据库表)。为了良好的订单,我在保存文件后修复/重建时没有错误。
根据说明,我首先创建了一个带有自定义函数的 php 文件来查询数据库(custom/Extension/application/Ext/Utils/getMakers.php):
<?php
function getMakers() {
static $makers = null;
if (!$makers){
global $db;
$query = "SELECT id, name FROM a1_maker";
$result = $db->query($query, false);
$accounts = array();
$accounts[''] = '';
while (($row = $db->fetchByAssoc($result)) !=null) {
$accounts[$row['id']] = $row['name'];
}
}
return $makers;
}
?>
然后,我在 Vardefs 中设置 'function' 字段以指向该函数(custom/Extension/modules/Maker/Ext/Vardefs/makers_template.php):
<?php
$dictionary['Maker']['fields']['list_of_makers'] = array (
'name' => 'list_of_makers',
'vname' => 'LBL_MKRLST'
'function' => 'getMakers',
'type' => 'enum',
'len' => '100',
'comment' => 'List of makers populated from the database',
);
?>
不幸的是,没有错误,修复/重建运行良好。当我进入工作室时,我只是无法看到自定义字段。谁能帮助指出我可能做错了什么?