在vtiger项目侧栏中添加costum模块

时间:2015-12-29 08:52:39

标签: php module sidebar vtiger

我已经创建了一个自定义示例模块(一个简单的Hello世界),现在我将在vtiger上的项目中添加一个指向此模块的链接。 我试过使用模块设计器,但它不起作用,所以我在vtiger / modules / project / models /

中的module.php文件中找到了这段代码
public function getSideBarLinks($linkParams) {
    $linkTypes = array('SIDEBARLINK', 'SIDEBARWIDGET');
    $links = parent::getSideBarLinks($linkParams);

    $quickLinks = array(
        array(
            'linktype' => 'SIDEBARLINK',
            'linklabel' => 'LBL_TASKS_LIST',
            'linkurl' => $this->getTasksListUrl(),
            'linkicon' => '',
        ),
        array(
            'linktype' => 'SIDEBARLINK',
            'linklabel' => 'LBL_MILESTONES_LIST',
            'linkurl' => $this->getMilestonesListUrl(),
            'linkicon' => '',
        ),
    );
    foreach($quickLinks as $quickLink) {
        $links['SIDEBARLINK'][] = Vtiger_Link_Model::getInstanceFromValues($quickLink);
    }

    return $links;
}

但即使我在这里添加我的自定义链接,或者如果我删除$ quickLinks数组中的所有内容,侧边栏也不会改变。我怎样才能做到这一点?感谢

1 个答案:

答案 0 :(得分:0)

您可以参考以下链接或按照以下步骤在项目模块下添加新链接。

Add new custom link

创建一个新文件并在该.PHP文件中添加以下代码,并将其放在CRM根目录位置并在浏览器中运行。

$Crm_Utils_Log = true;
include_once('vtlib/Crm/Menu.php');
include_once('vtlib/Crm/Module.php');

$module = Crm_Module::getInstance('Project');
$targetmodule = Crm_Module::getInstance('NewModule');
$relationLabel = 'Link Label';
$function_name = 'get_related_list';
$module->setRelatedList( $targetmodule, $relationLabel, Array(), $function_name );