如何在SugarCRM中为自定义视图创建布局

时间:2013-10-08 10:09:50

标签: php sugarcrm

我创建了一个完全自定义的视图,我希望此视图仅以editview格式显示某些字段,以便我可以更新记录。但是这种观点与普通的editview不同。如何在此视图中添加自定义元数据文件,以便我可以定义所需的表单和字段?该视图与自定义按钮绑定,目前只显示“工作”。到目前为止这只是需要了解如何定义布局。

控制器:

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

class CustomCasesController extends SugarController {

function action_resolve_Case() {
    $this->view = 'resolve_case';
}

}

观点:

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

require_once('include/MVC/View/SugarView.php');


class CasesViewresolve_case extends SugarView {

public function CasesViewresolve_case() {
    parent::SugarView();
}

function preDisplay() {

    parent::preDisplay();

}

public function display() {

   // include ('test.php');

    echo "works";
}
}

1 个答案:

答案 0 :(得分:2)

老了,但仍然可以帮助别人......

你可以:

  1. 在显示功能内部工作。你在这里做的所有事情或回声将显示在Sugar主应用程序屏幕(导航栏,页脚等)中,因此它看起来很原生。

  2. 直接在控制器内部工作并回显所有内容。

  3. 使用您要编辑的字段构建表单,并在控制器中将操作作为操作,您可以使用bean-> save()方法获取POST结果。

    <form name="whatever" method="POST" action="index.php?module=Contacts&action=yourcustomaction">

    前:

        `$contact = new Contact();
         $contact->retrieve("{$_REQUEST['contactId']}"); 
         //be sure to send the id in the button/link to the view
         $contact->first_name =$_POST['first_name'];
         $contact->last_name =$_POST['last_name'];
         .....
         $contact->save();`
    

    不是很优雅,但我知道的唯一其他选项是使用我不熟悉的智能模板。

    如果有人有更好的解决方案,请发布。