ホームページ > バックエンド開発 > PHPチュートリアル > Dreamweaver CMS_PHP チュートリアルでのウェイトソートの無効な使用に対する解決策

Dreamweaver CMS_PHP チュートリアルでのウェイトソートの無効な使用に対する解決策

WBOY
リリース: 2016-07-13 10:56:34
オリジナル
863 人が閲覧しました

dedecms5.7 には重みのソートにバグがあります。無効な重みの問題を解決する方法を段階的に説明します。詳細は以下を参照してください。

関係するファイルは includetaglibarclist.lib.php ファイルです:

570行目あたり:

コードは次のとおりです コードをコピー
if ( $isweight==’y’ )

このコード行はまったく役に立ちません。 $orderWeight = list_sort_by($orderWeight, ‘weight’, ‘asc’); 結果を並べ替えます。

$orderWeight を取得する前に、ドキュメント テーブルを取得するステートメントが次のとおりであるため、これには問題があります。

コードは次のとおりです コードをコピー

SELECT arc.*,tp.typedir,tp.typename,tp.corank,tp.isdefault,tp.defaultname,tp.namerule,

tp.namerule2、tp.ispart、tp.moresite、tp.siteurl、tp.sitepath
FROM `dede_archives` arc LEFT JOIN `dede_arctype` tp ON arc.typeid=tp.id WHERE arc.typeid IN (29) AND

arc.arcrank > -1 arc.sortrank DESC で注文

当然のことですが、ラベルを書くときは次のように書きます

コードは次のとおりです コードをコピー

{dede:arclist orderby='weight' typeid='29' isweight='y'

limit=’4,1’ titlelen=’100’ infolen=’100’ }

、本来の目的はデータが重みに従ってソートされることであり、2 番目の処理プログラムは

に基づいています。

sortrank によって取得されたデータベースの場合、isweight=’y’ を指定すると、取得したデータセットが重みに従って並べ替えられるだけです。


したがって、解決策は非常に簡単です。プログラム ファイルの 330 行目に、重みでソートされた処理ステートメントの行を追加します。

コードは次のとおりです コードをコピー

else if($orderby ==

'weight') $ordersql = "arc.weight asc で順序付け";

リストタグが重み付けソートをサポートするように別のタグを分離しましょう

コードは次のとおりです コードをコピー

{dede:list pagesize='10' titlelen='50' orderby='weight'} •[field:textlink/]
{/dede:list}

方法:

1. arc.listview.class.php

ファイルを開きます。

2. ステートメント "else if($orderby=="lastpost") {" を見つけます (おそらく行 609 にあります)。この行の前で Enter キーを押し、次のステートメントを挿入します。

コードは次のとおりですコードをコピー

3. 引き続き "if(ereg('hot|click|lastpost',$orderby))" ステートメントを検索し、次のように変更します。

else if($orderby=="weight") { $ordersql = " arc.weight $orderWay";

コードは次のとおりですコードをコピー
if(ereg('hot|click|weight|lastpost',$orderby))

変更が完了したら、それを保存します。ターゲットで重み付けソートが使用されている場合は、それを生成すると、ドキュメントリストに重み付けソートがインストールされていることがわかります

4. テンプレート呼び出し

コードは次のとおりですコードをコピー
{dede:arclist row='10' titlelen='50' orderby='weight'} •[field:textlink/]
{/dede:arclist}

http://www.bkjia.com/PHPjc/632148.htmlwww.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/632148.html技術記事 dedecms5.7 には重みのソートに関するバグがあります。無効な重みの問題を解決する方法を段階的に説明します。詳細については、以下を参照してください。 関連するファイルは includetaglibarclist.l...
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート