1

QuoteモジュールをLeadモジュールのフィールドに結び付けようとして、vTiger用に次のコードを作成しました。

$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');

// Create Block instance
$block1 = new Vtiger_Block();
$block1->label = 'Block Name';
$block1 = Vtiger_Block::getInstance('LBL_LEAD', $module);

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

これは私が得ている応答です:

Setting Leads relation with Quotes ... DONE
Fatal error: Call to a member function addField() on a non-object in /var/www/duvtiger/vtigerscript.php on line 23

$block1 がオブジェクトでないのはなぜですか?

これを修正するにはどうすればよいですか? 私は何を間違っていますか?関連するフィールドをセットアップするために私がしなければならないことはこれだけですよね?

4

1 に答える 1

5

このコードを試して、新しい関連フィールドを追加してください。これは確かにあなたを助けます。フィールドを追加する前にリレーションを設定したため、「ブロック 1 はオブジェクトではありません」というエラーが表示されます。

$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'));
于 2013-11-13T06:12:50.630 に答える