【问题标题】:Records not showing in order记录未按顺序显示
【发布时间】:2019-09-29 21:16:20
【问题描述】:

我在 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】:

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

    public $hasMany = [
        'courses' => ['Foo\Bar\Models\Course', 'order' => 'sort_order']
    ];
    

    【讨论】:

      猜你喜欢
      • 2015-02-09
      • 2015-11-26
      • 1970-01-01
      • 2018-11-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多