URL代码生成"未定义"对于vTiger

时间:2013-11-12 23:10:31

标签: php vtiger

出于某种原因,我的代码正在生成module = undefined:

/index.php?module=undefined&action=Popup&html=Popup_picker&form=vtlibPopupView&forfield=Quotes&srcmodule=Leads&forrecord=1695

问题是我直接在我的脚本中定义了模块:

$field0->setRelatedModules(Array('Quotes'));

我在这里做错了什么?

这是我的完整代码:

$Vtiger_Utils_Log = true;
include_once('vtlib/Vtiger/Menu.php');
include_once('vtlib/Vtiger/Module.php');
//(module name without space)
$module = Vtiger_Module::getInstance('Leads');
$module->initWebservice();

// Create Block instance
$block1 = new Vtiger_Block();
$block1 = Vtiger_Block::getInstance('LBL_LEAD_INFORMATION', $module);

$field0 = new Vtiger_Field();
$field0->name = 'quotes';
$field0->column = 'quotes';
$field0->label = 'Test2';
$field0->uitype = 10;
$field0->typeofdata = 'V~O';
//$field0->setRelatedModules(Array('Quotes'));
$field0->setRelatedModules(Array('quotes'));
$block1->addField($field0);

1 个答案:

答案 0 :(得分:5)

添加字段后必须设置相关模块。在添加字段之前,您无法设置与任何模块的关系。

将以下代码添加到addField行。

$block1->addField($field0);
$field0->setRelatedModules(Array('Quotes'));

而且我认为你必须在表格中添加字段。

所以更新你的代码。

$field0 = new Vtiger_Field();
$field0->name = 'quotes';
$field0->column = 'quotes';
$field0->table = $module->basetable; 
$field0->label = 'Test2';
$field0->uitype = 10;
$field0->typeofdata = 'V~O';
$block1->addField($field0);
$field0->setRelatedModules(Array('Quotes'));