分享帝国CMS随时机员头像的方式

阿奇源码默认解压密码为"www.aqiyuanma.com",2021年9月11日前的源码默认解压密码为"www.hnymwl.com"
阿奇官方VIP技术群:483386718,阿奇源码技术交流群:938992858!速奇云-香港云服务器38元/月

帝国CMS批量提取正文内容到简介

最近接到一个帝国cms模板改版项目,自带的数据可能是采集的,以前的简介字段内容只截取了60个字,新模板的简介60字符太少了,不美观,想让简介都截取200个字,怎么批量修改呢,文章太多了手动改肯定不行,网上查了下帝国cms教程。分享一段可用代码。

帝国CMS批量提取正文内容到简介方法

1、先备份数据库
2、保存e/admin/ChangeByID.php 

<?php
define('EmpireCMSAdmin','1');
require("../class/connect.php");
require("../class/db_sql.php");
require("../class/functions.php");
require LoadLang("pub/fun.php");
require("../class/t_functions.php");
require("../data/dbcache/class.php");
require("../data/dbcache/MemberLevel.php");
$link=db_connect();
$empire=new mysqlquery();
$tbname="news";
$sid=(int)$_GET['startid'];
$b=0;
$rs=$empire->query("SELECT id,newstext FROM {$dbtbpre}ecms_{$tbname}_data_1 WHERE id>{$sid} limit 20");
        while($r=$empire->fetch($rs))
        {
                $smalltext='';
                !$r['newstext'] or $smalltext=SubSmalltextVal($r['newstext'],200);
                $smalltext=addslashes($smalltext);
                $smalltext &&
                $empire->query("UPDATE {$dbtbpre}ecms_{$tbname} SET smalltext='{$smalltext}' WHERE id=".$r[id]);
                $b=$r['id'];
        }
$b or exit('转换结束!');
echo "<meta http-equiv="refresh" content="1;url=ChangeByID.php?startid=".$b."">";
echo "已转换ID".$b;
db_close();
$empire=null;
?>

3、浏览器访问ChangeByID.php 

前些时检测服务器发现平安狗扫出了网站图片附件中有提醒后门的图片,检查发现是用户上传的头像图片。不知道是不是误报,但确实有这个风险,想想只能删掉用户上传图片头像的功效,改为默认随机设置的方式。

分享阿奇源码网自用的一段随机设置会员头像的代码,异常简朴只需一步。

分享帝国CMS随时机员头像的方式

帝国CMS批量设置正文第一张图片为缩略图方法

执行以下脚本的时候请 先备份数据库!文本存放的新闻正文字段不可用!

新闻正文字段作为主表的情况用以下语句:

update  phome_ecms_news  set  titlepic  =concat(replace(SUBSTRING_INDEX(SUBSTRING_INDEX(newstext,  'src=',  -1),'.gif',1),'"',''),'.gif')  where  newstext  like  '%.gif%'  and  titlepic='';
update  phome_ecms_news  set  titlepic  =concat(replace(SUBSTRING_INDEX(SUBSTRING_INDEX(newstext,  'src=',  -1),'.jpg',1),'"',''),'.gif')  where  newstext  like  '%.jpg%'  and  titlepic='';
update  phome_ecms_news  set  titlepic  =concat(replace(SUBSTRING_INDEX(SUBSTRING_INDEX(newstext,  'src=',  -1),'.png',1),'"',''),'.png')  where  newstext  like  '%.png%'  and  titlepic='';

新闻正文字段作为副表的情况用以下语句:

update [!db.pre!]ecms_news_data_1 a, [!db.pre!]ecms_news b set b.titlepic=concat(replace(SUBSTRING_INDEX(SUBSTRING_INDEX(a.newstext,  'src=',  -1),'.gif',1),'"',''),'.gif')  where  a.newstext  like  '%.gif%'  and  b.titlepic='' and a.id=b.id;
update [!db.pre!]ecms_news_data_1 a, [!db.pre!]ecms_news b set b.titlepic=concat(replace(SUBSTRING_INDEX(SUBSTRING_INDEX(a.newstext,  'src=',  -1),'.jpg',1),'"',''),'.jpg')  where  a.newstext  like  '%.jpg%'  and  b.titlepic='' and a.id=b.id;
update [!db.pre!]ecms_news_data_1 a, [!db.pre!]ecms_news b set b.titlepic=concat(replace(SUBSTRING_INDEX(SUBSTRING_INDEX(a.newstext,  'src=',  -1),'.png',1),'"',''),'.png')  where  a.newstext  like  '%.png%'  and  b.titlepic='' and a.id=b.id;

大致效果如图,也可以到本站会员中央体验。

代码如下

<img src='<?=$ecmsfirstpost==1?"/e/template/Style/img/1.jpg":ehtmlspecialchars(stripSlashes($addr[userpic]))?>' id='img' width="180" height="180" />
<a href="javascript:void(0)" rel="external nofollow"  onclick="ChangeFace()">换一张</a>
<input name="userpic" type="text" id="userpic" value="<?=$ecmsfirstpost==1?"":ehtmlspecialchars(stripSlashes($addr[userpic]))?>" size="" style="display:none">
<script src="https://libs.baidu.com/jquery/1.10.2/jquery.min.js"></script>
<script type="text/javascript">
function ChangeFace() {
//x上限,y下限     
var x = 10;
var y = 1;
var rand = parseInt(Math.random() * (x - y + 1) + y);
var face = '/e/template/Style/img/' + rand + '.jpg';
$("#img").attr('src', face);
$("input[name='userpic']").attr('value', face);
}
</script>

把以上代码复制帐帖到会员字段的头像字段内就可以了。

/e/template/Style/img/1.jpg

这里是默认准备的头像图片路径,需要自行准备几张头像图片,这里默认的是随机10张。

帝国CMS结合JS自定义手机端内容分页样式

帝国CMS自带的内容分页标签为[!–page.url–],在制作多终端模板的时候,[!–page.url–]在手机端就会显得太长了,如果删掉一些[!–page.url–]在电脑端又显得太短。

完美的方法是自定义一个分页函数,在对于新手朋友太难,这里精准像素分享一个简单的方法,利用JS来完成,不太完美但基本功能都能实现。

手机版大致效果是这样

下面来说说代码,首先是模板代码

<div class="contentpage">
	<span class="pre">上一张</span>
    <b class="nub"></b>
    <span class="next">下一张</span>
    <div id="page">[!--page.url--]</div>
</div>

然后是JS,

<script>
        var num = $("#page").find("em").text();
        $(".nub").text(num);
        
        $(".pre").click(function(){
            var url = $("#page").find("b").prev().attr("href");
            
            if(url){
                window.location.href=url;
            }else{
                $(this).text("没有了")
            }
        })
        $(".next").click(function(){
            var url = $("#page").find("b").next().attr("href");
            if(url){
                window.location.href=url;
            }else{
                $(this).text("没有了")
            }
        })
        </script>

最后是内容分页函数代码,在/e/class/t_functions.php里面

//返回内容分页
function sys_ShowTextPage($totalpage,$page,$dolink,$add,$type,$search=""){
	global $fun_r,$public_r;
	if($totalpage==1)
	{
		return '';
	}
	$page_line=$public_r['textpagelistnum'];
	$snum=2;
	//$totalpage=ceil($num/$line);//取得总页数
	$firststr='<em>'.$page.'/'.$totalpage.'</em>';
	//上一页
	if($page<>1)
	{
		$toppage='<a href="'.$dolink.$add[filename].$type.'" rel="external nofollow"  rel="external nofollow" >'.$fun_r['startpage'].'</a>';
		$pagepr=$page-1;
		if($pagepr==1)
		{
			$prido=$add[filename].$type;
		}
		else
		{
			$prido=$add[filename].'_'.$pagepr.$type;
		}
		$prepage='<a href="'.$dolink.$prido.'" rel="external nofollow" >'.$fun_r['pripage'].'</a>';
	}
	//下一页
	if($page!=$totalpage)
	{
		$pagenex=$page+1;
		$nextpage='<a href="'.$dolink.$add[filename].'_'.$pagenex.$type.'" rel="external nofollow" >'.$fun_r['nextpage'].'</a>';
		$lastpage='<a href="'.$dolink.$add[filename].'_'.$totalpage.$type.'" rel="external nofollow" >'.$fun_r['lastpage'].'</a>';
	}
	$starti=$page-$snum<1?1:$page-$snum;
	$no=0;
	for($i=$starti;$i<=$totalpage&&$no<$page_line;$i++)
	{
		$no++;
		if($page==$i)
		{
			$is_1="<b>";
			$is_2="</b>";
		}
		elseif($i==1)
		{
			$is_1='<a href="'.$dolink.$add[filename].$type.'" rel="external nofollow"  rel="external nofollow" >';
			$is_2="</a>";
		}
		else
		{
			$is_1='<a href="'.$dolink.$add[filename].'_'.$i.$type.'" rel="external nofollow" >';
			$is_2="</a>";
		}
		$returnstr.=''.$is_1.$i.$is_2;
	}
	$returnstr=$firststr.$toppage.$prepage.$returnstr.$nextpage.$lastpage;
	return $returnstr;
}

CSS代码就不分享了,自己些吧。

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

注:在使用本系统时,使用方必须在国家相关法律法规范围内并经过国家相关部门的授权许可,禁止用于一切非法行为。使用用途仅限于测试、实验、研究为目的,禁止用于一切商业运营,本团队不承担使用者在使用过程中的任何违法行为负责。

阿奇源码 帝国CMS教程 分享帝国CMS随时机员头像的方式 https://www.aqiyuanma.com/114967.html

相关文章

官方客服团队

为您解决烦忧 - 24小时在线 专业服务

  • 0 +

    访问总数

  • 0 +

    会员总数

  • 0 +

    文章总数

  • 0 +

    今日发布

  • 0 +

    本周发布

  • 0 +

    运行天数

你的前景,远超我们想象
分享帝国CMS随时机员头像的方式-海报

分享本文封面