logo

JTBC5.0后台内容列表字段数据改写方法

2025-02-19 点击 51

我们通过产品后台列表的代码来讲解一下。

产品模块\Public\product\common\diplomat\manage.php

    $data = $model -> getPage(['id', 'title', 'category', 'published', 'time']);
    foreach ($data as $key => $item)
    {
      $item -> category_title = $category -> getTitleById($item -> category);
      $data[$key] = $item;
    }
    $bs = new BasicSubstance($this);
    $bs -> data -> data = $data;

而在默认的一些模块后台列表中的代码是这样的

 $bs -> data -> data = $model -> getPage();

通过对比,我们可以发现,后台列表中要显示的内容,可以选定,通过代码还可以进行修改(或添加)

其中

getPage()是自动调用所有字段到$bs -> data -> data中,

getPage(['id', 'title', 'category', 'published', 'time'])是调用id,title,category,published,time这几个字段数据到$data中,然后通过foreach进行数据处理添加category_title到$data中,最后再把$data给到$bs -> data -> data 。

这样我们可以发现,如果要修改或添加数据到后台列表中显示,需要通过foreach进行对getPage()得到的数据进行改写即可。

例如,对$bs -> data -> data = $model -> getPage();进行改写,可以这样:

    $data = $model -> getPage();
    foreach ($data as $key => $item)
    {
      $item -> id = $item -> id . '号';
      $data[$key] = $item;
    }
    $bs -> data -> data = $data;

通过改写,我们可以给到ID值添加一个文字‘号’,来对后台列表显示进行数据,或者添加

    $data = $model -> getPage();
    foreach ($data as $key => $item)
    {
      $item -> idnum = $item -> id . '号';
      $data[$key] = $item;
    }
    $bs -> data -> data = $data;

这样在后台模板中调用就可以这样

              <td class="center">${$id}</td>
              <td class="center">${$idnum}</td>

多条改写可以这样

    $data = $model -> getPage(['id', 'title', 'category', 'published', 'time']);
    foreach ($data as $key => $item)
    {
      $item -> idnum = $item -> id . '号';
      $item -> category_title = $category -> getTitleById($item -> category);
      $data[$key] = $item;
    }
    $bs = new BasicSubstance($this);
    $bs -> data -> data = $data;

如果是要进行更复杂的改写,可以通过上述方法进行数据替换即可。

这里就不再详述。

0%