DEDECMS のリスト タグで重み付けソートをサポートするにはどうすればよいですか?
DEDECMS システムは、テンプレートで使用できるドキュメントの重みによる並べ替えをサポートしています。
{dede:arclist row='10' titlelen='50' orderby='weight'} •[field:textlink/] {/dede:arclist}
orderby='weight' は、重みに応じたドキュメントの並べ替えを実現します。これは arclist タグで、ドキュメント リストを呼び出すためにどこでも使用できます。
ただし、列リスト ページで list タグを使用する場合 (ドキュメント リストのページングを実装するため)、また、重量で並べ替えたい場合は、
{dede:list pagesize='10' titlelen='50' orderby='weight'} •[field:textlink/] {/dede:list}
リストが重量で並べ替えられていないことがわかります。リストをどのように変更しても、順序は同じままです。
理由: dedecms は重みソートの arclist タグのみをサポートし、リスト タグはサポートしません
解決策:
1. ファイル arc.listview.class.php を開きます
2. "else if($orderby=="lastpost") {" ステートメントを見つけます (おそらく行 609 にあります)。この行の前で Enter キーを押し、次のステートメントを挿入します。
else if($orderby=="weight") { $ordersql = " order by arc.weight $orderWay"; }
if(ereg('hot|click|weight|lastpost',$orderby))
{dede:arclist row='10' titlelen='50' orderby='weight'} •[field:textlink/] {/dede:arclist}
以上がDEDECMS のリストタグが重み付けソートをサポートするようにする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。