SugarCRM 一个页面控制两个模块(editview.php)
2011-02-13 17:58
190 查看
目的:在editview中一个保存按钮,保存两个模块(两张表) 解决方案: 1.在主表模块的editview.php文件最后写 require_once('modules/bw_Consignments/editpanels/editview.php'); //执行子表模块的editview.php文件 2.在子表模块中新建editpanels文件夹 将editview.php editview.html Forms.php 文件复制到此文件夹下 3.修改editpanels/EditView.php文件 (1) require_once('modules/bw_Consignments/language/zh_cn.lang.php');//在文件头部写此句,用于引入$mod_strings[]数组 4.editpanels/EditView.html 可根据需求调整模板 (1)去除保存 取消按钮 删除以下代码 <input type="submit" name="button" value=" {APP.LBL_SAVE_BUTTON_LABEL} " class="button" tabindex="5" onclick="this.form.action.value='Save'; return check_form('EditView');" title="{APP.LBL_SAVE_BUTTON_TITLE}" accesskey="{APP.LBL_SAVE_BUTTON_KEY}"/> <input type="submit" name="button" value=" {APP.LBL_CANCEL_BUTTON_LABEL} " class="button" tabindex="6" onclick="this.form.module.value='{RETURN_MODULE}'; this.form.action.value='{RETURN_ACTION}'; this.form.record.value='{RETURN_ID}';" title="{APP.LBL_CANCEL_BUTTON_TITLE}" accesskey="{APP.LBL_CANCEL_BUTTON_KEY}"/> <td align="right" nowrap><span class="required">{APP.LBL_REQUIRED_SYMBOL}</span> {APP.NTC_REQUIRED}</td> < td align="right">{ADMIN_EDIT}</td> (2)去除<form name="EditView" method="post" action="index.php"> </form> 因为表单这个表单不需要了 (3)去除下面代码 <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr> <input type="hidden" name="module" value="bw_Consignments" /> <input type="hidden" name="record" value="{ID}" /> <input type="hidden" name="action" value="" /> <input type="hidden" name="return_module" value="{RETURN_MODULE}" /> <input type="hidden" name="return_id" value="{RETURN_ID}" /> <input type="hidden" name="return_action" value="{RETURN_ACTION}" /> </tr> </table> 因为这些是控制表单提交的,表单已经不需要,所以这些也不用了,而且这些与主表模块冲突 5.修改editpanels/Forms.php 文件 function get_new_record_form 方法名修改为 get_new_record_form1 function get_validate_record_js 方法名修改为 get_validate_record_js1 原因: 因为两个模块同一页时,两个模块均调用了此方法,为了防止重名 6.提交保存 原理:将两个模块合成为一个表单一同提交,子表模块仍然由子模块执行保存. 主表模块的save.php $return_id = $sugarbean->id; \\此句下面写 $temp_id=$return_id;//因为$return_id已为子表模块保存的id 所以用$temp_id require_once('modules/bw_Consignments/Save.php');//执行子表模块Save.php //handleRedirect($return_id,'bw_Msg_MT3101s');//原来的,不用了 handleRedirect($temp_id,'bw_Msg_MT3101s');//页面跳转 注意: 子表保存后跳转应去掉 SaveFormBase.php //if ($redirect) { // handleRedirect($return_id,"bw_Consignments" ); //} else { // return $focus; //}
相关文章推荐
- iOS不得姐项目--推荐关注模块(一个控制器控制两个tableView),数据重复请求的问题,分页数据的加载,上拉下拉刷新(MJRefresh)
- SugarCRM 主表EditView.php 中添加子表明细Items 并一同保存
- asp.net 一个页面中有两个按钮,回车时判断相应哪个事件的方法!!(用javascript 控制)
- css控制同一个页面的两个表格,一个显示有边框线,而另一个没边框线
- SugarCRM EditView.php 隐藏姓名,负责人(将姓名保存为登陆人名称)
- php中按字节截取字符串方法,(汉字占两个字节,字母占一个字节,页面编码必须为utf-8)
- 两个不同模块中的jsp传值, 一个jsp页面中打开新的jsp页面, 新的jsp页面返回值给本jsp页面
- 【Android UI设计与开发】第02期:引导界面(二)使用ViewPager2、其中小点的图片用一个selector来控制颜色,point.xml:现欢迎引导页面
- curl乱码有两个方面的原因一个是因为我们采集页面的php页面编码与远程文档编码不致导致的,另一种可能是页面进入了gzip压缩传输导致的
- 一个php页面处理两个form表单的方法
- 安卓学习笔记:2:用EditView创建一个简单的注册页面
- 两个recyclerview放在同一个布局中的坑
- 控制EditText只能输入两位小数,且第一位不能为点,也不能出现两个点
- 坑:删除ViewGroup中的一个已经得到焦点的EditText时,同级的第一个EditView会得到焦点
- 第二篇:主页面及主页的两个模块
- Js:消息弹出框、获取时间区间、时间格式、easyui datebox 自定义校验、表单数据转化json、控制两个日期不能只填一个
- UI 09 tableView 中国省市区. 一个页面, 三个tableView
- 单元测试地二蛋 先弄个两个原生模块1个原始的一个jq插件
- 基于ssh2框架下多表查询的单个模块开发。其中的页面跳转是通过MVC中的ModelandView实现的。
- jquery和php实现同一个页面传值