在Joomla模块文章类别中修剪SQL结果中的领先THE

时间:2013-06-14 15:39:35

标签: sql joomla trim

我正在尝试修剪返回Joomla中文章标题的查询中的前导“the”,以便按字母顺序显示结果,并忽略前导“the”(如果存在)。负责这个的模块是文章类别(Joomla核心模块),我认为我应该修改的文件是modules / mod_articles_category中的helper.php。 我替换了以下行:

  $articles->setState('list.direction', $params->get('article_ordering_direction',    
  'ASC')); 

有了这个:

  $articles->setState('list.direction', $params->get('article_ordering_direction',  
  'TRIM(LEADING \'THE \' FROM a.title) ASC'));

但是,如果启用调试模式,则不会显示TRIM。我猜,我需要在其他地方进行更改。对不起,但我不熟悉Joomla,所以不知道这个查询来自哪里。非常感谢任何指针。

1 个答案:

答案 0 :(得分:1)

好的,简短的回答是否定的,我不相信你可以修改模块中的查询,就像这样。我没有使用模块,但我有一些组件的经验,所以我建议两种方法:

  • 尝试自己从模块中查询数据库,而不是使用setState,而是自己构建查询。
  • 你可以作弊。由于Joomla已经为你完成了繁重的工作,你可以操纵结果对象(即$ list)重新排列它并剥离你不想要的任何东西。我还建议您将代码视为布局覆盖,这样您就可以在不覆盖所做更改的情况下更新网站。