不是因为生活太现实,而对生活失望;而是知道生活太现实,所以更要用心的活下去。给自己一个拥抱。
点评:文章分享一篇关于dedecms栏目增加按数字字母开头排序输出,做起来很简单我们大概有三个方法,一个是数据增加字段first_word,第二步增自定义函数getfristword,第三步在模板文件中调用自定函数
SELECT substr(typename,1,1) FROM `dede_arctype` WHERE topid>0
好了现在正式开始增加字段
增加字段如图
取第一个给刚加的字段 first_l
update `dede_arctype` set first_word=substr( typename,1,1)
function getfristword( $tid )
{
$str ='';
$tid = intval( $tid );
$dsql = new Dedesql(false);
$sql ="select `first_word` from dede_arctype where topid='$tid' group by first_word";
$dsql->SetQuery($sql);
$dsql->Execute('hw');
while($row=$dsql->GetArray('hw'))
{
if($row['first_word'])
{
$wd =$row['first_word'];
$sql = "select * from dede_arctype where topid=$tid and first_word= '$wd' ";
$dsql->SetQuery($sql);
$dsql->Execute('wd');
$str .='<div class="ku1_left">'.strtoupper($wd).'开头</div>';
while( $rs = $dsql->GetArray('wd') )
{
$str .='<a rel="nofollow noopener noreferrer" href="'.str_replace('{cmspath}','',$rs['typedir']).'" title="'.str_replace('下载','',$rs['typename']).'手机主题" target="_blank">'.$rs['typename'].'</a>';
}
}
}
return $str;
}
写好后,我们找到调用栏目的模板
jx.html里面这样写
{dede:field.id function="getfristword(@me)"/} 这里是讲把当前栏目的id给getfirestword();
提示影响了 420 行。 ( 查询花费 0.0176 秒 ) 代码成功了,现在查看
如图
现在打开 dedecms的/include/channelunit.func.php文件,我们在这里增加自定义函数
好了我们的效果就出来了如图
好了看看最终效果
以上就是dedecms按栏目名首字母/数字排序输出的如何实现方法。不管是打雷下雨下雹子还是刀子。都要早起前行去学习,你的伙伴会贪睡不去,但不可以是你。没有伞的孩子必须努力奔跑,你的人生无路可走!更多关于dedecms按栏目名首字母/数字排序输出的如何实现方法请关注haodaima.com其它相关文章!