如何在我的插件中链接到下一条记录?

时间:2019-08-09 06:10:08

标签: octobercms

我有一个包含记录列表和记录详细信息的插件。在记录详细信息页面上,我想要一个这样的链接:

<a href="#" class="neighbour__link text--title-big">next</a>

因此,它是指向没有URL的下一条记录的链接。我如何在10月获得此URL?有没有一种方法可以获取和过滤所有记录,或者可以使用任何现成的功能来获取下一条记录的网址?

1 个答案:

答案 0 :(得分:0)

我找到了适合我的解决方案。

在模型中:

public function nextRecord($currentID) {
    $nextRecord = Project::where('id', '<>', $currentID)->where('id','>', $currentID)-> orderBy('id', 'ASC')->first();
    if ($nextRecord == null) {
        $nextRecord = Project::where('id', '<>', $currentID)->where('id','<', $currentID)-> orderBy('id', 'DESC')->first();
    }
    return $nextRecord;
}

在模板中:

<section class="neighbour clearfix">
    {% set next_record = record.nextRecord(record.id) %}
    <a href="/projects/{{ next_record.slug }}" class="neighbour__link text--title-big">{{ next_record.name }}</a>
</section>

此解决方案的一个流程是,记录按ID排序,而不是按时间排序。因此,如果我想按时间对它们进行排序,则可能需要添加一些时间戳。