织梦模板dede:channelartlist标签支持currentstyle
织梦dedecms中仅channel支持currentstyle属性,实际使用中往往需要channelartlist添加currentstyle,修改如下:
修改include\taglib\channelartlist.lib.php
第93行$pv->Fields['typeurl'] = GetOneTypeUrlA($typeids[$i]);
新增(其中'ON'为设置的样式类):
织梦dedecms中仅channel支持currentstyle属性,实际使用中往往需要channelartlist添加currentstyle,修改如下:
修改include\taglib\channelartlist.lib.php
第93行$pv->Fields['typeurl'] = GetOneTypeUrlA($typeids[$i]);
新增(其中'ON'为设置的样式类):
系统-SQL命令行工具-多行命令
delete from dede_addonarticle;
delete from dede_addonimages;
delete from dede_archives;
delete from dede_arctiny;
delete from dede_co_htmls;
delete from dede_co_urls;
delete from dede_co_mediaurls;
delete from dede_tagindex ;
delete from dede_taglist;
delete from dede_keywords;
TRUNCATE TABLE `dede_archives`;
TRUNCATE TABLE `dede_archives`;
ALTER TABLE `dede_archives` AUTO_INCREMENT =1;
ALTER TABLE `dede_arctiny` AUTO_INCREMENT =1;
ALTER TABLE `dede_addonarticle` AUTO_INCREMENT =1;
修改\include\arc.listview.class.php
在文件第727行处添加按weight排序判断代码:
else if($orderby=="weight") {
$ordersql = "ORDER BY arc.weight $orderWay";
}
第778行处找到此段代码(如果不用默认的sortrank或id排序,使用联合查询(数据量大时非常缓慢)):if(preg_match('/hot|click|lastpost|weight/', $orderby))
标签调用:{dede:list isweight='Y' orderby='weight' orderway='asc'}
判断是否为第一个
dedecms的arclist循环中,判断如果是第一个li,则添加固定的css,否则不加。
{dede:arclist row=4 flag='p'}
<li [field:global name=autoindex runphp="yes"](@me==1)? @me="class=on":@me="";[/field:global]>[field:global.autoindex/]</li>
{/dede:arclist}
修改文件include/arc.archives.class.php文件,function GetPreNext($gtype='')
函数修改为:
function GetPreNext($gtype='')
{
$rs = '';
if(count($this->PreNext)<2)
{
$aid = $this->ArcID;
$preR = $this->dsql->GetOne("Select id From `#@__arctiny` where id<$aid And arcrank>-1 And typeid='{$this->Fields['typeid']}' order by id desc");
$nextR = $this->dsql->GetOne("Select id From `#@__arctiny` where id>$aid And arcrank>-1 And typeid='{$this->Fields['typeid']}' order by id asc");
$next = (is_array($nextR) ? " where arc.id={$nextR['id']} " : ' where 1>2 ');
$pre = (is_array($preR) ? " where arc.id={$preR['id']} " : ' where 1>2 ');
$query = "Select arc.id,arc.title,arc.shorttitle,arc.typeid,arc.ismake,arc.senddate,arc.arcrank,arc.money,arc.filename,arc.litpic,
t.typedir,t.typename,t.namerule,t.namerule2,t.ispart,t.moresite,t.siteurl,t.sitepath
from `#@__archives` arc left join #@__arctype t on arc.typeid=t.id ";
$nextRow = $this->dsql->GetOne($query.$next);
$preRow = $this->dsql->GetOne($query.$pre);
if(is_array($preRow))
{
$mlink = GetFileUrl($preRow['id'],$preRow['typeid'],$preRow['senddate'],$preRow['title'],$preRow['ismake'],$preRow['arcrank'],
$preRow['namerule'],$preRow['typedir'],$preRow['money'],$preRow['filename'],$preRow['moresite'],$preRow['siteurl'],$preRow['sitepath']);
$mobile_mlink = "/m/view.php?aid=".$preRow['id'];
$this->PreNext['pre'] = "上一篇:<a href='$mlink'>{$preRow['title']}</a> ";
$this->PreNext['mobile_pre'] = "上一篇:<a href='$mobile_mlink'>{$preRow['title']}</a> ";
$this->PreNext['preimg'] = "<a href='$mlink'><img src=\"{$preRow['litpic']}\" alt=\"{$preRow['title']}\"/></a> ";
}
else
{
$this->PreNext['pre'] = "上一篇:没有了 ";
$this->PreNext['mobile_pre'] = "上一篇:没有了 ";
$this->PreNext['preimg'] ="<img src=\"/templets/default/images/nophoto.jpg\" alt=\"对不起,没有上一图集了!\"/>";
}
if(is_array($nextRow))
{
$mlink = GetFileUrl($nextRow['id'],$nextRow['typeid'],$nextRow['senddate'],$nextRow['title'],$nextRow['ismake'],$nextRow['arcrank'],
$nextRow['namerule'],$nextRow['typedir'],$nextRow['money'],$nextRow['filename'],$nextRow['moresite'],$nextRow['siteurl'],$nextRow['sitepath']);
$mobile_mlink = "/m/view.php?aid=".$nextRow['id'];
$this->PreNext['next'] = "下一篇:<a href='$mlink'>{$nextRow['title']}</a> ";
$this->PreNext['mobile_next'] = "下一篇:<a href='$mobile_mlink'>{$nextRow['title']}</a> ";
$this->PreNext['nextimg'] = "<a href='$mlink'><img src=\"{$nextRow['litpic']}\" alt=\"{$nextRow['title']}\"/></a> ";
}
else
{
$this->PreNext['next'] = "下一篇:没有了 ";
$this->PreNext['mobile_next'] = "下一篇:没有了 ";
$this->PreNext['nextimg'] ="<a href='javascript:void(0)' alt=\"\"><img src=\"/templets/default/images/nophoto.jpg\" alt=\"对不起,没有下一图集了!\"/></a>";
}
}
if($gtype=='pre')
{
$rs = $this->PreNext['pre'];
}
else if($gtype=='preimg'){
$rs = $this->PreNext['preimg'];
}
else if($gtype=='mobile_pre'){
$rs = $this->PreNext['mobile_pre'];
}
else if($gtype=='next')
{
$rs = $this->PreNext['next'];
}
else if($gtype=='mobile_next')
{
$rs = $this->PreNext['mobile_next'];
}
else if($gtype=='nextimg'){
$rs = $this->PreNext['nextimg'];
}
else
{
$rs = $this->PreNext['pre']." ".$this->PreNext['next'];
}
return $rs;
}
在手机网站详情页模板内,将调用上一页、下一页标签插入。
<ul class="am-pagination blog-pagination">
<li>{dede:prenext get='mobile_pre'/}</li>
<div style="clear:both;"></div>
<li>{dede:prenext get='mobile_next'/}</li>
</ul>
var url = window.location.href;
if(url.indexOf('jqsj') >= 0){
$('.jqsj').addClass('active').siblings('li').removeClass('active');
}else if(url.indexOf('gyzdh') >= 0){
$('.gyzdh').addClass('active').siblings('li').removeClass('active');
$('#bgx').removeClass().addClass('tlt gy');
}
我们在使用织梦系统制作网站时经常会遇到网站栏目较多,显示当前栏目下的二级与三级栏目时,使用栏目嵌套标签,但是当三级栏目为空时,会显示同级栏目。从用户体验角度出发,常理情况下也是需要空白的,即二级栏目下的三级栏目如为空时,则不显示。那么如何让织梦{dede:channel type='son'}无子栏目时不显示同级栏目呢?
打开/plus/search.php
文件,对应位置插入以下代码:
if($mobile){
define('DEDEMOB', 'Y');
}
或:
复制plus/search.php为search_m.php,修改13行require_once(DEDEINC."/arc.searchview.classm.php");
复制include/arc.searchview.class.php为include/arc.searchview.classm.php,修改131$GLOBALS['cfg_df_style']."/search_m.htm";
即可使用search_m.php搜索