1

下午好,

我想知道如何在项目列表中添加菜单项,以及如何根据我的选择获取项目的 ID。下面我附上一张图片。

项目列表中的菜单项:

图片

4

1 回答 1

0

在 SuiteCRM 中,您可以以此为例。这将在您的项目 ListView 中创建一个附加菜单项并获取项目 ID。

自定义/模块/项目/视图/view.list.php

<?php
if (!defined('sugarEntry') || !sugarEntry) die('Not A Valid Entry Point');

require_once('include/MVC/View/views/view.list.php');

class ProjectViewList extends ViewList
{
    /**
     * @see ViewList::preDisplay()
     */
    public function preDisplay()
    {
        parent::preDisplay();

        $this->lv->actionsMenuExtraItems[] = $this->buildMyMenuItem();
    }

    /**
     * Builds the extra menu link(s)
     *
     * @return string HTML
     */
    protected function buildMyMenuItem()
    {
        global $app_strings;

        return <<<EOHTML
<a class="menuItem" style="width:150px;" href="#" onmouseover='hiliteItem(this,"yes");'
        onmouseout='unhiliteItem(this);'
        onclick="sugarListView.get_checks();
        if(sugarListView.get_checks_count() &lt; 1) {
            alert('{$app_strings['LBL_LISTVIEW_NO_SELECTED']}');
            return false;
        }
        document.MassUpdate.action.value='displaypassedids';
        document.MassUpdate.submit();">Menu Extra Item</a>
EOHTML;
    }
}

自定义/模块/项目/Controller.php

<?php

class ProjectController extends SugarController
{
    public function action_displaypassedids()
    {
        if (!empty($_REQUEST['uid'])) {
            $recordIds = explode(',', $_REQUEST['uid']);
            foreach ($recordIds as $recordId) {
                $bean = SugarModule::get($_REQUEST['module'])->loadBean();
                $bean->retrieve($recordId);
                echo "Sent Record ID {$bean->id}</br>";
            }
        }
        sugar_die('');
    }
}

祝你好运。

额外菜单项示例

于 2016-03-12T08:17:36.807 回答