SugarCRM - 如何为所有用户设置默认主页

时间:2010-01-07 09:09:29

标签: php open-source sugarcrm

我正在使用SugarCRM版本5.2.0k(Build 5837)。我希望能够设置一个默认的主页(我自己创建的dashlets)对所有用户都是一样的,有人可以建议最好的方法吗? 在此先感谢您的帮助

2 个答案:

答案 0 :(得分:2)

我也想知道如何做到这一点......请参阅here了解一些想法,但很明显它不是受支持的功能。

我想知道你是否可以编写一个为后期用户创建安装钩子的模块(假设提供了这个钩子),然后在调用钩子时填充用户首选项表的相应部分。当然,你的模块可能会随着SurgarCRM的每次升级而中断,所以这可能比我的价值更麻烦。

编辑:

我查看了上面链接的线程中引用的Dash Manager模块。它的方法是在管理员单击管理页面中的链接时将管理员用户的首选项复制到所有其他用户。因此,admin用户被用作其他用户的一种模板。初步的解决方案,但不是一个糟糕的开始 - 使用模板用户并将首选项(存储在数据库表中)视为不透明似乎是要走的路。

答案 1 :(得分:1)

这很容易做到。

我已经在 SugarCRM 6.5.23 中完成了。

我在这里提到了执行此操作的步骤:

  1. 只需复制sugarcrm_root/modules/Home/index.php并将其粘贴到SugarCRM_root/custom/modules/Home/index.php

  2. 现在您可以根据需要自定义它的行为。

  3. 您可以通过在SugarCRM_root/custom/modules/Home/dashlets.php创建一个文件来删除默认的小面板并添加自己的小程序,并在其中添加此代码:

    <?php
        unset($defaultDashlets);
        $defaultDashlets = array(
            'CustomDashlet' => 'ModuleName',
            'UpcomingAppointmentsDashlet' => 'Meetings', //Example
        );
    
  4. 一旦你做了这件事,你的钩子代码中还剩下3个小画面,你可以删除它,如果它需要的钩子代码是这样的:

    $dashlets[create_guid()] = array(
         'className' => 'iFrameDashlet',
         'module' => 'Home',
         'forceColumn' => 0,
         'fileLocation' => $dashletsFiles['iFrameDashlet']['file'],
         'options' => array('titleLabel' => 'LBL_DASHLET_DISCOVER_SUGAR_PRO',
         'url' => '...',
         'height' => 315,
    ));
    
  5. 希望这会对你有所帮助。 :)