0

我和一个同事正在使用 joomla 开发一个网站,我们已经放弃了 joomla 文章组件并用 K2 替换它。

网站内容的一部分,正在发布(使用 K2 项目)即将举行的现场活动,例如即将举行的音乐会,其中包含有关该活动的信息、图像等。

我们想知道是否可以按事件日期订购这些物品,或者换句话说,如何通过物品的额外字段:日期订购这些物品。K2 核心只让我们按发布日期或创建日期对这些项目进行排序,这不是我们需要的。

如果有人知道克服这个障碍的简单方法,将不胜感激!

4

2 回答 2

1

我们一直在研究完全相同的事件问题。K2 不允许这样做,但我们在 k2 中找到了这样做的方法。解决方案是覆盖模板,但只添加了一行。我们的活动部分在这里vida latina events,有 1 个额外的字段“日期”。我们想按此字段排序(此解决方案也适用于任何其他额外字段)。

解决方案 创建一个链接到空文章的菜单项。创建一个从您的 k2 类别中选择的模块 k2 内容,该内容显示在您的新空白页面上 对于“排序方式”,选择“按字母顺序排列的标题”——我们将使用它,因为我们要破解它——所以它需要是你的订单不会用于任何其他模块 打开第 195 行的文件 modules/mod_k2_content/helper.php 找到代码

case 'alpha' : $orderby = 'i.title DESC'; 休息;

并替换为:

case 'alpha' : $orderby = 'i.extra_fields DESC'; 休息;

如果您只有一个额外的字段,这将起作用。如果您有多个额外的字段,则必须修改解决方案,但我认为您了解了总体思路。

希望这可以帮助 Jeyjoo

于 2013-03-30T14:11:40.913 回答
0

我正在做一个类似的项目——使用 K2 制作活动日历。我有同样的问题。我要做的是 - 对于 2012 年 9 月 22 日的活动,我将创建日期设置为 2011 年 9 月 22 日(一年前)。然后我将 K2 设置为按“创建日期”排序,并将创建日期设置为隐藏。这似乎是一个完美的解决方案......唯一的问题是闰年日期(2 月 29 日)但您可以将创建日期设置为前一年的 2 月 28 日,并使用小时和分钟来获得正确的订单。我希望这是有道理的。

于 2012-08-26T01:08:25.823 回答