我更改了其中一个模块的默认列。现在我想让订单按特定顺序显示。我创建了一个view.list.php文件并将其放在custom / module / view文件夹中。当我覆盖listViewPrepare()函数以选择列:
时 $_REQUEST['orderBy'] = 'table.column';
它工作正常。当我将代码更改为:
$_REQUEST['orderBy'] = "FIELD(table.column, 'value1', 'value2', 'value3', 'value4', 'value5', 'value6', 'value7')"
根本没有订购。 我已经在mysql中检查了order by语句的语法,它可以在那里工作但是当我将它插入到view.list.php时它不起作用。我已经回应了变量,它正确地存在于那里。我不明白为什么它不起作用。
感谢 亚历
答案 0 :(得分:1)
这是您的语法:您缺少第一列的打开和关闭引号
$_REQUEST['orderBy'] = "FIELD(Contacts_cstm.file_status_c, 'NHSactive', 'Hands_Off', 'NHSsubmitted', 'NHSIncomplete', 'NHSCancelled', 'NHSComplete', 'NHSClosed')";
我相信它应该是这样......尝试一下......还有$ query应该是你的选择语句
$query.=" ORDER BY ".$_REQUEST['Contacts_cstm.file_status_c, 'NHSactive', 'Hands_Off', 'NHSsubmitted', 'NHSIncomplete', 'NHSCancelled', 'NHSComplete', 'NHSClosed'];
答案 1 :(得分:0)
如果您通过单击字段标题上的向上或向下箭头手动对列表视图进行排序,SugarCRM会将其保存为最后使用的排序字段,并在下次查看列表时使用它。尝试从用户页面点击“重置用户首选项”。