1

我更改了对其中一个模块进行排序的默认列。现在我想让订单以特定的顺序显示。我创建了一个 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 时它不起作用。我已经回显了变量,并且它正确地存在。我不明白为什么它不起作用。

谢谢亚历克斯

4

2 回答 2

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'];
于 2012-06-25T20:12:06.520 回答
0

如果您通过单击字段标题上的向上或向下箭头手动对列表视图进行排序,SugarCRM 会将其保存为上次使用的排序字段,并在您下次查看列表时使用。尝试从您的用户页面单击“重置用户首选项”。

于 2012-08-04T14:53:46.570 回答