PHPCMS 推荐位如何排序?

2024-11-12 09:04:41
推荐回答(2个)
回答1:

1、打开文件:/phpcms/modules/admin/classes/push_api.class.php

$info['id'] = $info['listorder'] = $d['id'];

就是这一句,当添加文章或者修改文章的时候,把listorder变得跟id一样,以至于,listorder排序不起作用。
所以上面那句代码应该改为:

$info['id'] = $d['id'];


2、打开文件:/phpcms/modules/content/content.php

在上面的后面加上

//更改推荐位排序开始
   $this->db_config = pc_base::load_config('database');
   $tablepre = $this->db_config['default']['tablepre'];
   $this->db->table_name = $tablepre."position_data";
   foreach($_POST['listorders'] as $id => $listorder) {
    $r = $this->db->get_one(array('id'=>$id));
    if($r['posid']){
      $this->db->update(array('listorder'=>$listorder),array('id'=>$id,modelid=>$modelid));
    }
   }
//更改推荐位排序开始

改完这两个地方就可以正常使用推荐位排序了。

回答2:

你的问题里没有详细说明,我想你说的排序是指调用推荐位下的文章列表如何排序吧?

一般我们调用推荐位文章列表时可以只用两种字段来排序,一个是id号,另外一个就是序号(listorder)了。我们使用phpcms模板中的pc标签的order属性来指定排序。

1.id号是文章天生固定的一个值无法更改,直接根据id号排序的调用标签写法如下:

{pc:content action="position" posid="1" num="5" order="id desc"}
{loop $data $v}
{$v[title]}
{/loop}
{/pc}

2.使用listorder序号排序,首先来说下序号的设置,如下图

我们可以在推荐位管理列表-信息管理里面设置推荐位里面文章的序号,然后在模板里面pc标签order属性里指定使用这个序号来排序:

{pc:content action="position" posid="1" num="5" order="listorder desc"}
{loop $data $v}
{$v[title]}
{/loop}
{/pc}


PS:关于phpcms标签的使用方法可以查阅官方手册以及iphpcms的详细视频教程。