1、channelartlist实现currentstyle属性
打开include\taglib\channelartlist.lib.php找到:
$pv->Fields[‘typeurl’] = GetOneTypeUrlA($typeids[$i]);
在此行代码下方增加以下代码:
if($typeids[$i][‘id’] == $refObj->TypeLink->TypeInfos[‘id’] || $typeids[$i][‘id’] == $refObj->TypeLink->TypeInfos[‘reid’] )
{
$pv->Fields[‘currentstyle’] = $currentstyle ? $currentstyle : ‘current';
}else{
$pv->Fields[‘currentstyle’] = ”;
}
调用方法
{dede:channelartlist typeid=’2′ currentstyle=’current’}
<li class='{dede:field.currentstyle/}’>
<a href='{dede:field name=’typeurl’/}’>{dede:field name=’typename’/}</a>
</li>
{/dede:channelartlist}
2、对当前位置position的修改
{dede:field name = "position" runphp='yes'}
<!--里面的 '> >' 是被代替的字符 ,' > /" 其中的 "/" 是需要自己需要的字符 -->
@me=substr(str_replace('> >','> -',@me),0,strlen(@me)-2);
{/dede:field}
3、调用上一篇、下一篇
通用的调用方法是:
{dede:prenext get='pre'/}
{dede:prenext get='next'/}
单独获取“上一篇文章地址”:
{dede:prenext get='pro' runphp="yes"}
preg_match_all('/<a.*?(?: |\\t|\\r|\\n)?href=[\'"]?(.+?)[\'"]?(?:(?: |\\t|\\r|\\n)+.*?)?>(.+?)<\/a.*?>/sim', @me, $strResult, PREG_PATTERN_ORDER);
@me=$strResult[1][0];
{/dede:prenext}
单独获取“下一篇文章地址”:
{dede:prenext get='next' runphp="yes"}
preg_match_all('/<a.*?(?: |\\t|\\r|\\n)?href=[\'"]?(.+?)[\'"]?(?:(?: |\\t|\\r|\\n)+.*?)?>(.+?)<\/a.*?>/sim', @me, $strResult, PREG_PATTERN_ORDER);
@me=$strResult[1][0];
{/dede:prenext}