记录未按顺序显示

问题描述 投票:0回答:1

我在OctoberCMS中构建了自定义插件,并且已经成功实现了Reorder控制器。

现在唯一的问题是记录没有按照我在后端设置的顺序显示在前端。

任何帮助将不胜感激。

{% for course in record.courses %}
          <div class="col-md-4 mt-3 mb-4">
              <a href="{{ course.slug }}">
              <div class="box-new">
                <div class="box-header" style="background:url('{{ course.banner.path() }}');">
                    <div class="box-meta">
                        <p class="box-meta-category">{{ course.category.title }}</p>
                        <hr class="box-line">
                        <p class="box-meta-title">{{ course.title }}</p>
                    </div>
                </div>
                <div class="box-course-details">
                    <ul id="box-course-details">
                        <li><strong>Valid</strong> {{ course.valid_for }}</li>
                        <li><strong>Duration</strong> {{ course.duration }}</li>
                    </ul>
                </div>
                </a>
                <div class="action">
                    <a href="/course/{{ course.slug }}" class="btn btn-primary btn-block btn-new">View Course</a>
                </div>
              </div>
            </div>
          {% endfor %}
php laravel twig octobercms
1个回答
0
投票

我假设您实现的Reorder正在使用Sortable特征。如果是这样,这只会在数据库中设置sort_order列,但不会自动按前端的排序。从上面的代码看来,您正在使用record hasMany courses的关系。用record模型更新关系定义:

public $hasMany = [
    'courses' => ['Foo\Bar\Models\Course', 'order' => 'sort_order']
];
© www.soinside.com 2019 - 2024. All rights reserved.