织梦DedeCMS实现列表文章按首字母归类

织梦DedeCMS实现列表文章按首字母归类的方法。

效果如下

织梦DedeCMS实现列表文章按首字母归类

实现方法

在文章列表页list_article.htm中加入以下代码,即可按首字母进行归类归档排序

<div class="container padding-big"style="min-height:200px;">
<p class="text-large">{dede:type }[field:typename/]{/dede:type}</p>
<div class="line-big">
{dede:php} 
$sql = "select arc.id,arc.writer,arc.typeid, arc.title, arc.senddate,tp.sitepath,tp.namerule,tp.typedir from dede_archives  arc  left join `dede_arctype` tp on arc.typeid=tp.id where arc.typeid=2";
 $dsql->SetQuery($sql);
$dsql->Execute();//执行SQL操作
while($row = $dsql->GetArray()){
//print_r($row['title']);exit;
//$pingyin=GetPinyin($row['title'],0,1);
$letter=substr(GetPinyin($row['title']),0,1);//取得拼音首字母
$letter=strtoupper($letter);
 
$arr[$letter]['writer'][]=$row["writer"];
$arr[$letter]['url'][]=GetFileUrl($row['id'],$row['typeid'],$row['senddate'],$row['title'],0,0,$row['namerule'],$row['typedir'],0, '',0,'',$row['sitepath']);
$arr[$letter]['title'][]=$row["title"];       
} 
ksort($arr);//字母排序
//print_r($arr);exit;
$b=1;
foreach($arr as $k=>$v){
 
//print_r($v);exit;
echo '<div class="x3"><p class="padding-left bg-eee st">'.strtoupper($k).'</p>';
for ($x=0; $x<count($v['title']); $x++) {
             echo '<a href="'.$v[url][$x].'"><strong>'. $v[title][$x].'</strong></a><br/><hr/>';
            
        }      
             echo '<br/></div>';// print_r($b%4);
             if($b%3==0){echo '<hr class="space"></hr>';//hr{background:#ddd;color:#ddd;clear:both;float:none;width:100%;height:1px;margin:10px 0;border:none;-moz-box-sizing:content-box;box-sizing:content-box;}hr.space{background:#fff;color:#fff;visibility:hidden;}hr的css,强制换行,防止错位
             }
             $b++;
             }
{/dede:php}
</div>
</div>    

具体样式请按自己需求修改。

添加新评论

昵称
邮箱
网站