ホームページ  >  記事  >  CMS チュートリアル  >  dede トピック ノードの記事を ID タイプで並べ替える方法

dede トピック ノードの記事を ID タイプで並べ替える方法

藏色散人
藏色散人オリジナル
2019-12-20 10:34:392663ブラウズ

dede トピック ノードの記事を ID タイプで並べ替える方法

dede トピック ノードの記事を ID タイプで並べ替えるにはどうすればよいですか?

dede トピック ノードの記事は ID、クリック、その他のタイプで並べ替えられます

dedecms を使用してトピックを作成し、コンテンツを追加すると、コンテンツ タイトルが追加された id に従ってソートされておらず、id 順に並べられていません。ランダムな感じです

推奨学習: 梦Weavercms

タイトルのIDに従って降順に並べます。

この効果には 2 つの php ファイルを変更する必要があります。

最初のステップ:

1. includetaglibchannelspecialtopic.lib.php ファイルを変更します

2. 52 行目に次のコード行があります:

 $ctag->GetAtt('imgwidth'), $ctag->GetAtt('imgheight'), 'all', 'default', $keywords, $listTemplet, 0, $idlist,

変更:

 $ctag->GetAtt('imgwidth'), $ctag->GetAtt('imgheight'), 'all', 'asc', $keywords, $listTemplet, 0, $idlist,

3. ファイルを保存して終了

2 番目のステップ:

1. includetaglibarclist.lib.php

2. 概要196 どこへ行っても。次のコード行があります:

  //文档排序的方式
    $ordersql = '';
    if($orderby=='hot' || $orderby=='click') $ordersql = " order by arc.click $orderWay";
    else if($orderby == 'sortrank' || $orderby=='pubdate') $ordersql = " order by arc.sortrank $orderWay";
    else if($orderby == 'id') $ordersql = "  order by arc.id $orderWay";
    else if($orderby == 'near') $ordersql = " order by ABS(arc.id - ".$arcid.")";
    else if($orderby == 'lastpost') $ordersql = "  order by arc.lastpost $orderWay";
    else if($orderby == 'scores') $ordersql = "  order by arc.scores $orderWay";
    else if($orderby == 'rand') $ordersql = "  order by rand()";
    //增加  开始
           else if($orderby == 'asc') $ordersql = "  order by arc.id asc";
    //增加 结束
    else $ordersql = " order by arc.sortrank $orderWay";

3. 変更の終了

ここに別の実装方法があります

1. include/taglib//channel/specialtopic.lib を見つけます。 php

2. require_once(DEDEINC.'/taglib/arclist.lib.php'); を require_once(DEDEINC.'/taglib/arclist.lib2.php');

3 に置き換えます。 arclist.lib.php をコピーし、名前を arclist.lib2.php に変更します。

次に、arclist.lib2.php を変更します。

$order='desc' を見つけて、$orderby=' に置き換えます。 id'

模倣サイトが昇順か降順かについては、

$orderWay = AttDef($order,'desc'); を見つけて $orderWay = AttDef に置き換えます($order,'asc');

次のパラメータを呼び出したい場合は、クリックして変更するだけです

§ orderby='hot' 或 orderby='click' 表示按点击数排列 
§ orderby='sortrank' 或 orderby='pubdate' 按出版时间排列 
§ orderby='near' 
§ orderby=='lastpost' 按最后评论时间 
§ orderby=='scores' 按得分排序 
§ orderby='id' 按文章ID排序 
§ orderby='rand' 随机获得指定条件的文档列表

dedecms 5.1 のバージョンの場合

id ​​ソートが追加されました関数

include/inc/.inc_fun_SpFullList.php
//文档排序的方式 
$ordersql = ""; 
if($orderby=='rand') $ordersql = " order by rand()"; 
else if($orderby=='click'||$orderby=='hot') $ordersql = " order by arcf.click desc"; 
else if($orderby=='digg') $ordersql = " order by arcf.digg desc"; 
else if($orderby=='diggtime') $ordersql = " order by arcf.diggtime desc"; 
else $ordersql=" order by arcf.aid desc"; 
// 2013年针对专题id列表所加功能 
if($idlist!=''){ 
$ordersql = " order by find_in_set(arcf.aid,'$idlist')"; 
}

以上がdede トピック ノードの記事を ID タイプで並べ替える方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。