我创建了一个完全自定义的视图,我希望此视图仅以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";
}
}
答案 0 :(得分:2)
老了,但仍然可以帮助别人......
你可以:
在显示功能内部工作。你在这里做的所有事情或回声将显示在Sugar主应用程序屏幕(导航栏,页脚等)中,因此它看起来很原生。
直接在控制器内部工作并回显所有内容。
使用您要编辑的字段构建表单,并在控制器中将操作作为操作,您可以使用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();`
不是很优雅,但我知道的唯一其他选项是使用我不熟悉的智能模板。
如果有人有更好的解决方案,请发布。