VTiger:工作流程 - 调用自定义功能

时间:2015-04-21 10:09:41

标签: php customization vtiger

我尝试在vtiger中设置工作流程,以便在发票具有特定状态后将发票导出为pdf。

要做到这一点,我正在考虑使用"调用自定义函数"。有一个documentation on it,但不清楚,例如:where /哪个文件注册事件管理器?

我还发现the same questions实际上是由另一个人提出并解决的,但当我在帖子中打开链接时,它指示我找不到页面"错误。

2 个答案:

答案 0 :(得分:2)

require_once 'include/utils/utils.php';
require 'modules/com_vtiger_workflow/VTEntityMethodManager.inc';
$emm = new VTEntityMethodManager($adb); 

//$emm->addEntityMethod("Module Name","Label", "Path to file" , "Method Name" );
$emm->addEntityMethod("Invoice", "Update Inventory", "include/InventoryHandler.php", "handleInventoryProductRel");

在php文件中添加这些代码行替换为您的模块名称,标签,路径,方法名称,并将文件添加到vtiger实例,运行该文件。它将添加到数据库表“com_vtiger_workflowtasks_entitymethod”中。您现在可以在特定模块的工作流程部分中使用您的调用自定义函数。

答案 1 :(得分:0)

根据“之前的答案”完成所有操作

<?php
require_once 'include/utils/utils.php';
require 'modules/com_vtiger_workflow/VTEntityMethodManager.inc';
$emm = new VTEntityMethodManager($adb);
#addEntityMethod("Module", "LABEL", "FILENAME", "FUNCTION_NAME");
$emm->addEntityMethod("Accounts", "Update Account","modules/Accounts/updateAccountData.php", "updateAccountData");
?>

2-此文件由http://IP/registerworkflow.php执行 我可以在自定义脚本中看到更新帐户 3-创建简单功能

<?php
function updateAccountData($entity){
$file = '/tmp/people.txt';
$current = file_get_contents($file);
$current .= "John Smith\n";
file_put_contents($file, __LINE__.':'.print_r($current, true)."\r\n");
}
?>

4文件/tmp/people.txt由我和777 chmod创建 5-添加了电子邮件发送以测试工作流程已执行    (因此第一步执行更新帐户功能第二封电子邮件) 但是奇怪的是我可以接收电子邮件,但脚本不能将数据放入测试文件