在 vtiger 项目侧边栏中添加自定义模块

Add costum module in vtiger project sidebar

我已经创建了一个自定义示例模块(一个简单的 Hello world),现在我将 link 添加到 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;
}

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

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

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