月度归档:2019年08月

DEDECMS列表页多种属性排序[ajax]-支持select方式和降序升序切换

排序效果

打包下载

链接: https://pan.baidu.com/s/1ZH3AwiCJwr-sMAoi1NxDQQ 密码: p8rm

 

本站下载链接:   织梦列表页多种属性排序[ajax]-支持select方式和降序升序切换

使用说明

该插件是utf-8编码,gbk编码的同学自行转换一下。

1、把include和plus这2个文件夹上传到你网站里

2、在你列表模板里增加 _ajax.htm 结尾的模板,里面的代码参考下载包里的 empletsdefault

  • list_article_ajax.htm
  • list_shop_ajax.htm

3、按钮的代码参考 empletsdefault 里面的

  • list_article.htm
  • list_shop_ajax.htm
<!-- 排序方式 -->
<script src="https://www.dedehtml.com/uploads/allimg/1807/1A3051Z7-0.jpg" type="text/javascript"></script>
<style>
.list_tool{border-bottom:1px solid #D3D3D3;height:25px;text-align:left;padding:10px 2px;}
.list_px{float:left;width:600px;}
.list_tool span,.list_px a{color:#333;padding:0 6px 0 10px;height:24px;line-height:26px;overflow:hidden;background:#EDEDED;border-width:1px;border-style:solid;border-radius:2px;border-color:#999 #ddd #ddd #999;margin:0 10px 0 0;float:left;font-family:'Microsoft YaHei';_font-family:Tahoma;}
.list_tool span{background:#fff;margin-right:0;border:0;}
.list_px a.on{color:#fff;background:#FF9001;line-height:24px;border-color:#C67101 #EC8601 #EC8601 #C67101;font-weight:bold;text-shadow:0 1px 0 #B26501}.list_px a:hover{text-decoration:none;}
</style>
<script type="text/javascript">
$(document).ready(function () {
	$(".list_px a").click(function (e) {
		var data = $(this).attr("data");
		$.get(data,null,function(returnData){
			$("#list").html(returnData);
		});
		var sort = /orderway=(desc|asc)/g.exec(data)[1], tsort = sort == 'desc' ? 'asc' : 'desc';
		data = data.replace('orderway=' + sort, 'orderway=' + tsort);
		$(this).attr('data', data).text(this.innerHTML.replace(sort, tsort)).addClass("on").siblings().removeClass("on");
	})
	$(".field").change(function(){
		var data = $(this).val();
		$.get(data,null,function(returnData){
			$("#list").html(returnData);
		});
		$(this).attr("selected",true);
	});
})
function ajax_url(url){
	$.get(url,null,function(returnData){
		$("#list").html(returnData);
	});
}
</script>
<div class="list_tool">
	<div class="list_px">
		<span>排序方式:</span>
		<a id="a_update" class="on" href="{dede:type}[field:typeurl/]{/dede:type}">更新</a>
		<a data="{dede:global.cfg_basehost/}/plus/listajax.php?tid={dede:field.typeid/}&orderby=hot&orderway=desc" href="javascript:viod();">点击</a>
		<a data="{dede:global.cfg_basehost/}/plus/listajax.php?tid={dede:field.typeid/}&orderby=scores&orderway=desc" href="javascript:viod();">评论</a>
		<a data="{dede:global.cfg_basehost/}/plus/listajax.php?tid={dede:field.typeid/}&orderby=weight&orderway=desc" href="javascript:viod();">权重</a>
		<select class="field" name="field">
			<option selected>默认</option>
			<option value="{dede:global.cfg_basehost/}/plus/listajax.php?tid={dede:field.typeid/}&orderby=hot&orderway=desc">点击从高到低</option>
			<option value="{dede:global.cfg_basehost/}/plus/listajax.php?tid={dede:field.typeid/}&orderby=hot&orderway=asc">点击从低到高</option>
		</select>
	</div>
</div>

后台-系统-网站域名链接 必须要正确。

织梦DEDECMS图集权重无法修改解决办法

一、图集权重无法修改解决办法;

在文章或者图集里面,修改了权重确定并重新返回后发现数值并没有变化

quanzhong

造成的原因是源码中没有获取该值更新数据库,修改方法如下(此处以修改图集权重为例,其他的进入相应的文件更改类似位置代码即可):

依次进入根目录》dede找到打开文件album_edit.php在第151行左右找到

UPDATE #@__archives SET

在其后(换行)加入 weight=’$weight’,  (包括逗号),保存更改后,在网站后台重新生成全站,再试一下,是不是可以保存你修改的权重值了。

二、无法按照权重排序解决办法;

发现权重可以在后台修改了,但是前台显示的图片顺序还是无法按照权重由小到大排序,修改方法为:在你调用的地方,代码大致如下:

{dede:arclist row=’18’ keyword=’学员图片’ titlelen=’12’ typeid=’2′ type=’image.’  isweight=’y’orderby=’weight’}

红色标注的代码决定着是否按照权重排序,很多人写了orderby=’weight’,但是并没有isweight=’y’,有时也是不行的。

经过上述两步,大功告成,别忘了评论哦。

dedecms当前页面的判断”mobile/手机端”的跳转

<meta http-equiv=”mobile-agent” content=”format=xhtml;url={dede:global.cfg_mobileurl/}/list.php?tid={dede:field.id/}”>
<script type=”text/javascript”>if(window.location.toString().indexOf(‘pref=padindex’) != -1){}else{if(/AppleWebKit.*Mobile/i.test(navigator.userAgent) || (/MIDP|SymbianOS|NOKIA|SAMSUNG|LG|NEC|TCL|Alcatel|BIRD|DBTEL|Dopod|PHILIPS|HAIER|LENOVO|MOT-|Nokia|SonyEricsson|SIE-|Amoi|ZTE/.test(navigator.userAgent))){if(window.location.href.indexOf(“?mobile”)<0){try{if(/Android|Windows Phone|webOS|iPhone|iPod|BlackBerry/i.test(navigator.userAgent)){window.location.href=”{dede:global.cfg_mobileurl/}/list.php?tid={dede:field.id/}”;}else if(/iPad/i.test(navigator.userAgent)){}else{}}catch(e){}}}}</script>

移动端css常用等分(平分宽度)的方法

淘宝导航栏
在移动端中我们经常会遇到如上图淘宝的底部导航的情况,平分某一宽度

<header class="footer red">
    <ul class="nav">
        <li>简介</li>
        <li>订单</li>
        <li>账户</li>
    </ul>
</header>
<footer class="footer blue">
    <ul class="nav">
        <li>首页</li>
        <li>微淘</li>
        <li>社区</li>
        <li>购物车</li>
        <li>我的淘宝</li>
    </ul>
</footer>

(如果没有特别说明,网页代码不变)
方法一:,一般通常的做法是利用float,然后子元素的每一个宽度等于总宽度除以子元素的个数。以下是css代码:

.red{background:red;height:18px;color: #fff;}
.blue{background: blue;height:18px;color: #fff;}
/*以上代码为了区分两个导航*/
.nav,.nav_3{width: 100%;list-style: none;padding:0px;margin:0px;}
.nav li {float:left; width:20%;}
.nav_3 li {float:left; width:33.333%;}

效果展示:效果展示
虽然上面的方式可以解决问题,但是如果这个时候项目需求变更为把三个改为四个或者五个改为四个,那么你这边不仅需要改动css还要改动网页内容。
方法二:flex,用法非常简单,父容器里面定义display: flex;然后子元素定义flex: 1;就可以了,但是由于flex这个属性改版多次,所以兼容性。。。

.red{background:red;height:18px;color: #fff;}
.blue{background: blue;height:18px;color: #fff;}
/*以上代码为了区分两个导航*/
.nav,.nav_3{list-style: none;padding:0px;margin:0px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
}
.nav li,.nav_3 li{list-style: none;padding:0px;margin:0px;
    -webkit-box-flex: 1;      /* OLD - iOS 6-, Safari 3.1-6 */
    -moz-box-flex: 1;        /* OLD - Firefox 19- */
    -webkit-flex: 1;          /* Chrome */
    -ms-flex: 1;              /* IE 10 */
    flex: 1;
}

方法三:display: table-cell;设置父容器的display: table;table-layout: fixed;width: 100%;,然后设置子元素为display: table-cell;就可以了。优点就是兼容性很好啊。css代码如下:

.red{background:red;height:18px;color: #fff;}
.blue{background: blue;height:18px;color: #fff;}
/*以上代码为了区分两个导航*/
.nav,.nav_3 {
  display: table;
  table-layout: fixed;
  width: 100%; 
  list-style: none;
  margin:0px;
  padding:0px;
}
.nav li,.nav_3 li {
    display: table-cell; }

织梦DEDECMS超简单获取上级栏目ID及顶级栏目ID

使用时请把前面的序号去除!!!

获取上级栏目ID

XML/HTML代码
  1. {dede:field.reid/}

获取顶级栏目ID

XML/HTML代码
  1. {dede:field.typeid function=‘GetTopid(@me)’/}

获取顶级栏目id,名称及链接

XML/HTML代码
  1. {dede:field.typeid function=“gettoptype(@me,id)”/} //id
  2. {dede:field.typeid function=“gettoptype(@me,name)”/} //名称
  3. {dede:field.typeid function=“gettoptype(@me,link)”/} //链接

修改 include/helpers/extend.helper.php,在结尾增加如下代码 :

XML/HTML代码
  1. /**
  2. * 获取一个类目的顶级栏目
  3. * @param string $tid 栏目ID
  4. * @return string
  5. */
  6. if ( ! function_exists(‘gettoptype’))
  7. {
  8. function gettoptype($tid,$action)
  9. {
  10. global $dsql,$cfg_Cs;
  11. if(!is_array($cfg_Cs))
  12. {
  13. require_once(DEDEDATA.”/cache/inc_catalog_base.inc”);
  14. }
  15. if(!isset($cfg_Cs[$tid][0]) || $cfg_Cs[$tid][0]==0)
  16. {
  17. $topid = $tid;
  18. }
  19. else
  20. {
  21. $topid = GetTopid($cfg_Cs[$tid][0]);
  22. }
  23. $row = $dsql->GetOne(“SELECT * FROM `#@__arctype` WHERE id=$topid”);
  24. $toptypename = $row[‘typename’];
  25. $toptypeurl = $topid;
  26. if($action==’id’) return $topid;
  27. if($action==’name’) return $toptypename;
  28. if($action==’link’) return GetOneTypeUrlA($row);
  29. }
  30. }

dedecms列表页加载更多功能的实现

Infinite Ajax Scroll  简称 ias,无限的ajax滚动,是一款jQuery滚动ajax分页插件,当页面滚动到容器可见部分将自动异步加载数据。

插件说明

  • 炒鸡简单,不用改动程序内核文件,不用懂php代码
  • 支持“加载更多”
  • 支持“无限下拉”
  • 支持动静态
  • 支持图片延迟加载

插件的集成很简单,分以下几个步骤:

1、页面中引用jquery.js  jquery-ias.min.js

注意:jquery.js库版本必须大于1.6

<script src='/js/jquery.js'></script>
<script src="/js/jquery-ias.min.js"></script>

jquery-ias.min.js 下载链接: https://pan.baidu.com/s/1NJ8KCLj_zAJ0yB6WQxdimg 密码: p6j6

2、接着上面的js,在页面中写上插件参数

<script type="text/javascript">
var ias = $.ias({
    container: ".listbox", //包含所有文章的元素
    item: ".item", //文章元素
    pagination: ".pagelist", //分页元素
    next: ".pagelist a.nextpage", //下一页元素
});
ias.extension(new IASSpinnerExtension({
    src: "/img/load.gif", //此选项为加载时缓冲图片
    html: '<p style="text-align: center;"><img src="{src}"/></p>'
}));
ias.extension(new IASTriggerExtension({
    text: '点击加载更多', //此选项为需要点击时的文字
    html: '<p style="text-align: center; cursor: pointer;"><a>{text}</a></p>',
    offset: !1, //设置此项,如 offset:2 页之后需要手动点击才能加载,offset:!1 则一直为无限加载
}));
ias.extension(new IASNoneLeftExtension({
    text: '已经加载完成!', // 加载完成时的提示
    html: '<p style="text-align: center; cursor: pointer;"><a>{text}</a></p>',
}));
</script>

3、dedecms列表模板html代码示范,注意html代码中的 listboxitempagelistnextpage 要与上面js中的统一

<div class=”listbox“>
<ul class=”e2″>
{dede:list pagesize=’10’}
<li class=”item“><a href=”[field:arcurl/]” class=”title”>[field:title/]</a></li>
{/dede:list}
</ul>
</div>
<ul class=”pagelist“>
{dede:pagelist listitem=”next” listsize=”1″ runphp=yes}
@me = preg_replace(‘/<a\shref=([\'”]?).+?\1/’, ‘$0 class=”nextpage“‘, @me);
{/dede:pagelist}
</ul>

本站下载链接:dedecms列表页加载更多功能的实现   点击下载!!!!

dedecms最新版手机端网站上一篇下一篇链接错误的解决方法

在用织梦dedecms最新版做手机站模板的朋友都知道,织梦dedecms默认手机端网站如果用pc站的调用方式调用上一篇和下一篇,出现的网址是错误的。下面跟版网的小编为您提供解决方法,希望对您有帮助。

打开 \include\arc.archives.class.php 文件
首先查找:
1 $this->PreNext['pre'] = "上一篇:<a href='$mlink'>{$preRow['title']}</a> ";
在这段代码后面增加:
1 $this->PreNext['prem'] = "上一篇:<a href='view.php?aid={$preRow['id']}'>{$preRow['title']}</a> ";
继续查找:
1 $this->PreNext['next'] = "下一篇:<a href='$mlink'>{$nextRow['title']}</a> ";
在这段代码后面增加:
1 $this->PreNext['nextm'] = "下一篇:<a href='view.php?aid={$preRow['id']}'>{$nextRow['title']}</a> ";
继续往下查找:
1 else if($gtype=='nextimg'){
2   $rs =  $this->PreNext['nextimg'];
3 }
在这段代码后面增加:
1 else if($gtype=='prem'){
2   $rs =  $this->PreNext['prem'];
3 }
4 else if($gtype=='nextm'){
5   $rs =  $this->PreNext['nextm'];
6 }

 

手机版本专用调用标签
手机版上一篇调用代码:

1 {dede:prenext get='prem'/}
手机版下一篇调用代码:

1 {dede:prenext get='nextm'/}