dede全站做移动跳转+适配,精通dede和PHP的来!

dede全站做移动跳转+适配,精通dede和PHP的来!,第1张

dede数据库字段说明:dede_addonarticle 附加文章表

aid int(11) 文章编号

typeid int(11) 分类栏目编号

body mediumtext 文章内容

dede_addonflash 附加Flash表

aid int(11) FLASH编号

typeid int(11) 分类栏目编号

filesize varchar(10) 文件大小

playtime varchar(10) 播放时长

flashtype varchar(10) 作品类型

flashrank smallint(6) 作品等级

width smallint(6) 影片宽度

height smallint(6) 影片高度

flashurl varchar(80) FLASH地址

dede_addonimages 附加图集表

aid int(11) 图集编号

typeid int(11) 分类栏目编号

pagestyle smallint(6) 表现方式(1单页显示 2分多页显示 3多行多列展示)

maxwidth smallint(6) 大图限制宽度

imgurls text 集内容(标签存放)

row smallint(6) 多列式参数(行)

col smallint(6) 多列式参数(列)

isrm smallint(6) 是否下载远程

ddmaxwidth smallint(6) 小宽度限制

dede_addonsoft 附加软件表

aid int(11) 软件编号

typeid int(11) 分类栏目编号

filetype varchar(10) 文件类型

language varchar(10) 界面语言

softtype varchar(10) 软件类型

accredit varchar(10) 授权方式

os varchar(30) 运行环境

softrank int(11) 软件等级

officialUrl varchar(30) 官方网址

officialDemo varchar(50) 程序演示地址

softsize varchar(10) 软件大小

softlinks text 软件下载链接列表

introduce text 软件介绍

dede_addonspec 附加专题表

aid int(11) 专题编号

typeid int(11) 分类栏目编号

note text 专题内容(仅存放标签代码)

dede_admin管理员信息表

ID int(10) 自动编号

usertype int(10) 用户类型

userid varchar(30) 用户登录ID

pwd varchar(50) 用户密码

uname varchar(20) 用户笔名

tname varchar(30) 真实姓名

email varchar(30) 电子邮箱

typeid int(11) 负责频道(0表示全部)

logintime datetime 登录时间

loginip varchar(20) 登录IP

dede_admintype 系统用户组管理表

rank smallint(6) 组级别编号

typename varchar(30) 组名称

system smallint(6) 是否为系统默认组

purviews text 权限列表

dede_arcatt文档自定义属性表

att smallint(6) 编号

attname varchar(30) 属性名称

dede_archives 文章表

ID int(11) 自动编号

typeid int(11) 所属主栏目编号

typeid2 int(11) 所属副栏目编号

sortrank int(11) 文章排序(置顶方法)

iscommend smallint(6) 是否推荐

ismake smallint(6) 是否生成静态

channel int(11) 文章所属模型

arcrank smallint(6) 阅读权限

click int(11) 点击次数

money smallint(6) 消费点数

title varchar(80) 标题

shorttitle varchar(36) 简略标题

color varchar(10) 标题颜色

writer varchar(30) 作者

source varchar(50) 来源

litpic varchar(100) 缩略图

pubdate int(11) 录入时间

senddate int(11) 发布时间

arcatt smallint(6) 自定属性(att)

adminID int(11) 发布管理员ID

memberID int(11) 发布会员ID

description varchar(250) 摘要

keywords varchar(60) 关键词

templet varchar(60) 文档模板

lastpost int(11) 最近评论时间

postnum int(11) 评论数目

redirecturl varchar(150) 跳转网址

mtype int(11) 用户自定义分类

userip varchar(20) 用户IP

locklikeid smallint(6) 是否锁定相关文章

likeid varchar(240) 相关文章ID

dede_arcrank 阅读权限表

ID int(10) 自动编号

rank smallint(10) 权限等级

membername varchar(20) 等级名称

adminrank smallint(10) 管理等级

money int(11) 消费点数

dede_arctype 栏目管理表

ID int(10) 栏目编号(自动编号)

reID int(10) 父栏目编号

topID int(10)

sortrank smallint(6) 排序编号

typename varchar(30) 栏目名称

typedir varchar(100) 栏目目录

isdefault smallint(6) 栏目列表选项(1链接到默认页 0链接到列表第一页 -1使用动态页)

defaultname varchar(20) 默认页的名称

issend smallint(6) 是否支持投稿

channeltype smallint(6) 频道类型

maxpage int(11) 保留

ispart smallint(6) 栏目属性

corank smallint(6) 浏览权限

tempindex varchar(60) 封面模板

templist varchar(60) 列表模板

temparticle varchar(60) 文章模板

tempone varchar(60) 单独页面模板

namerule varchar(50) 文章命名规则

namerule2 varchar(50) 列表命名规则

modname varchar(30) 模板名称

description varchar(200) 栏目介绍

keywords varchar(100) 关键词

moresite smallint(6) 多站点支持

siterefer smallint(6) 多站点站点根目录属性

sitepath varchar(60) 多站点站点根目录

siteurl varchar(60) 多站点绑定域名

ishidden smallint(6) 是否隐藏栏目

dede_sgpage 单页

上面是一些常用字段,可以在dede后台-》系统-》SQL命令行工具执行sql语句来批量修改!

1、在电脑桌面上,选择JetBrainsPhpStorm201632进入。

2、在“PhpStorm201632”中,打开dedecms模板indexhtm。

3、在“indexhtm”模板中,“title”、“keywords”、“description”标签带上关键词logo设计。

4、在“PhpStorm201632”中,打开dedecms模板footerhtm。

5、在“footerhtm”模板中,写上关键词logo设计的超链接代码。

6、这时在dedecms网站后台,切换到核心。在“核心”版面中,选择文档关键词维护进入。

7、在“关键词维护”页面,“新增关键字”填写logo设计,“链接网址“填写网站的网址,选择保存优化完成。

考虑到中小型网站中Dedecms使用概率较高,今天我们特地邀请了百度站长社区版主—洪石陈来为大家做Dedecms移动适配分享。

第一步:安装Dedecms移动站点的两种方式

(1)下载新版本直接安装使用,Dedecms版本:V57SP1正式版(2015-06-18)该版本包含旧版本所没有的移动站点功能。

(2)老版本升级(仅针对增加移动站点功能),下载最新版本(注意网站编码需与原站一致),复制压缩包中以下文件到原站对应目录下:

注意:如果原站有非默认模板,如某栏目模板为/templets/defaultst_default_newshtm,可将/templets/defaultst_default_mhtm复制一份改名为list_default_news_mhtm。

即:pc端网站模板需有对应的移动端网站模板,后者文件名为前者文件名后“_m”。

安装或升级dedecms完成,此时应该就可以进行移动跳转适配了,但,dedecms20150618版本提供的移动站点功能在使用过程中发现一些问题,需要进行修改后才可正常使用,所以有了下面的dedecms修改步骤…

第二步:修改Dedecms

(1)原站如做了将DATA移到根目录外的安全设置,需修改/m/indexphp代码:

if(!file_exists(dirname(__FILE__)'//data/commonincphp'))

{

header('Location:install/indexphp');

exit();

}

将其中//data/commonincphp改为///data/commonincphp,或直接将以上5行代码删除。

(2) 移动站点首页在会第一次访问时自动生成首页静态文件,前提是/m/目录需设置为可写权限,否则将无法正常更新。之后更新首页静态文件需登陆后台手动更新:在“更新主页HTML”中将“选择主页模板”改为“default/index_mhtm”,将“主页位置”改为“/m/indexhtml”,再生成主页静态文件。

注:该版本号称“自动生成HTML版”,但默认移动站模板里却有<ahref="indexphp">的动态首页链接,需替换为<ahref="indexhtml">静态链接形式。

※如觉得使用静态页面麻烦,想将首页设置为动态浏览,可修改/m/indexphp:

$row['showmod']= isset($row['showmod']) $row['showmod'] : 0;

if ($row['showmod'] == 1)

{

$pv->SaveToHtml(dirname(__FILE__)'/indexhtml');

include(dirname(__FILE__)'/indexhtml');

exit();

}

else {

$pv->Display();

exit();

}

以上代码替换为一行:$pv->Display();

第三步:首页“图文资讯”部分的url为pc端链接,修改为移动端链接:

搜索模板/templets/default/index_mhtm中所有<a href="[field:arcurl/]"> ,替换为<ahref="viewphpaid=[field:id/]">

第四步:通用头部含有搜索框,搜索跳转至pc端搜索页面,建议删除:

在/templets/default/header_mhtm中删除以下代码:

<form class="am-topbar-form am-topbar-leftam-form-inline am-topbar-right" role="search"action="{dede:globalcfg_cmsurl/}/plus/searchphp">

<input type="hidden" name="mobile"value="1" />

<input type="hidden" name="kwtype"value="0" />

<div class="am-form-group">

<input name="q" type="text"class="am-form-field am-input-sm" placeholder="输入关键词">

</div>

<button type="submit" class="am-btnam-btn-default am-btn-sm">搜索</button>

</form>

第五步: 移动站点默认使用二级目录,但目前移动适配需要使用二级域名(前段时间是可以使用二级目录的,但目前已调整,不能再提交二级目录),所以我们要设置移动站可通过二级域名访问,解析二级域名至网站所在服务器ip,并在服务器/空间上将二级域名绑定到/m/目录。

成功设置二级域名后,通过二级域名浏览网站会发现均无法显示,原因是路径有误——路径为“/uploads/x/yjpg”

相对根目录路径形式,在pc站页面中显示正常,因为pc站域名下存在该目录,而二级域名绑定的是二级目录,其中并不存在该目录,

所以访问会返回 404错误。对此,有多种解决方案,下面提供两个思路(示例pc站:wwwnt090com;移动站:mnt090com):

(1)URL 重写(推荐)

将对http://mnt090com/uploads/的访问重写 至http://wwwnt090com/uploads/,apache环境下,在/m/目录中的htaccess(如无则需新建)中增加以下代码即可:

RewriteEngine on

RewriteCond %{http_host} ^mnt090com [NC]

RewriteRule ^uploads/()$ http://wwwnt090com/uploads/$1 [L]

iis环境下类似规则。

(2)修改模板路径

在所有移动端模板中的<head></head>中增加:

<base href="http://wwwnt090com" />

再将代码中的

“<a href="listphp”改为完整路径“<a href="http://mnt090com/listphp”

“<a href="viewphp”改为完整路径“<a href="http://mnt090com/viewphp”

另:需将根目录下的/images/defaultpicgif(缩略图默认)复制到/m/目录下,否则列表页中如存在无缩略图的文章,对应缩略图位置会无法正常显示。

其他:

1、如有栏目不想在首页下方列表区域或通用头部显示,可在后台对应的栏目管理/常规选项中设置隐藏。

2、为了更好的实现pc端和移动端匹配效果,可在pc端模板增加类似如下代码:

首页

<meta http-equiv="mobile-agent"content="format=xhtml;url={dede:globalcfg_mobileurl/}/">

<scripttype="text/javascript">

if(windowlocationtoString()indexOf('pref=padindex')!= -1){}else{if(/AppleWebKitMobile/itest(navigatoruserAgent) || (/MIDP|SymbianOS|NOKIA|SAMSUNG|LG|NEC|TCL|Alcatel|BIRD|DBTEL|Dopod|PHILIPS|HAIER|LENOVO|MOT-|Nokia|SonyEricsson|SIE-|Amoi|ZTE/test(navigatoruserAgent))){if(windowlocationhrefindexOf("mobile")<0){try{if(/Android|WindowsPhone|webOS|iPhone|iPod|BlackBerry/itest(navigatoruserAgent)){windowlocationhref="{dede:globalcfg_mobileurl/}/";}elseif(/iPad/itest(navigatoruserAgent)){}else{}}catch(e){}}}}

</script>

栏目页

<metahttp-equiv="mobile-agent"content="format=xhtml;url={dede:globalcfg_mobileurl/}/listphptid={dede:fieldid/}">

<scripttype="text/javascript">

if(windowlocationtoString()indexOf('pref=padindex')!= -1){}else{if(/AppleWebKitMobile/itest(navigatoruserAgent) ||(/MIDP|SymbianOS|NOKIA|SAMSUNG|LG|NEC|TCL|Alcatel|BIRD|DBTEL|Dopod|PHILIPS|HAIER|LENOVO|MOT-|Nokia|SonyEricsson|SIE-|Amoi|ZTE/test(navigatoruserAgent))){if(windowlocationhrefindexOf("mobile")<0){try{if(/Android|WindowsPhone|webOS|iPhone|iPod|BlackBerry/itest(navigatoruserAgent)){windowlocationhref="{dede:globalcfg_mobileurl/}/listphptid={dede:fieldid/}";}elseif(/iPad/itest(navigatoruserAgent)){}else{}}catch(e){}}}}

</script>

文章页

<meta http-equiv="mobile-agent"content="format=xhtml;url={dede:globalcfg_mobileurl/}/viewphpaid={dede:fieldid/}">

<script type="text/javascript">

if(windowlocationtoString()indexOf('pref=padindex') !=-1){}else{if(/AppleWebKitMobile/itest(navigatoruserAgent) ||(/MIDP|SymbianOS|NOKIA|SAMSUNG|LG|NEC|TCL|Alcatel|BIRD|DBTEL|Dopod|PHILIPS|HAIER|LENOVO|MOT-|Nokia|SonyEricsson|SIE-|Amoi|ZTE/test(navigatoruserAgent))){if(windowlocationhrefindexOf("mobile")<0){try{if(/Android|WindowsPhone|webOS|iPhone|iPod|BlackBerry/itest(navigatoruserAgent)){windowlocationhref="{dede:globalcfg_mobileurl/}/viewphpaid={dede:fieldid/}";}elseif(/iPad/itest(navigatoruserAgent)){}else{}}catch(e){}}}}

</script>

代码中的{dede:globalcfg_mobileurl/}部分要替换为包含“http://”的二级域名(即:http://mnt090com),如不想修改模板里的相关代码,也可修改/include/commonincphp中的$cfg_mobileurl变量赋值为二级域名。

以上代码为dedecms新版模板所使用,第一行<meta>标签代码为百度发现跳转适配关系的方式(可同时使用)之一——“Meta标记”,下面几行javascript代码的功能是识别是否移动端设备访问,如是则将当前pc端页面自动跳转到匹配的移动端页面。

另外,还可使用<link>标签以便于百度更好地发现PC站和移动站的移动适配关系,在模板的<head></head>标签内加入如下代码:

PC站首页模板:

<link rel="alternate" media="only screen and(max-width: 640px)" href="http://mnt090com" >

PC站栏目页模板:

<link rel="alternate" media="only screen and(max-width: 640px)"href="http://mnt090com/listphptid={dede:fieldid/}" >

PC站文章页模板:

<link rel="alternate" media="only screen and(max-width: 640px)" href=" http://mnt090com/viewphpaid={dede:fieldid/}">

移动站首页模板:

<link rel="canonical"href="http://wwwnt090com/ "/>

栏目页模板:

<link rel="canonical"href="http://wwwnt090com{dede:type typeid='0' row=1}[field:typelink/]{/dede:type}"/>

文章页模板:

<link rel="canonical"href="http://wwwnt090com/{dede:fieldidrunphp='yes'}$id=@me;@me='';$url=GetOneArchive($id);@me=$url['arcurl'];{/dede:fieldid}"/>

至此,移动站架设基本成型。

提交移动跳转适配

URL对应关系示例:

1、DEDECMS文章内容页默认模板缺少相关文章,对用户及搜索引擎查找及判断文章主题不利。

2、解决办法:利用DEDECMS的相关文章标签:dede:likearticle,调用方法如下:

{dede:likearticle row='10' titlelen='80'}

<li><a href="[field:arcurl/]" title="[field:title /]">[field:title /]</a></li>

{/dede:likearticle}

3、前台样式请自己定义哦。

4、织梦系统还是很简单易用的,很多功能就用标签就可以实现,模板duosucaicom也有很多。希望对你有帮助哈

多素材织梦模板

为您解答

望采纳

你知道searchphp的话,里面有一段

if(($keyword=='' || strlen($keyword)<2) && empty($typeid))

{

ShowMsg('关键字不能小于2个字节!','-1');

exit();

}

你在前台点击关键字的时候在这个文件中输出下变量$keyword,看看你在前台选择的那个关键字是不是传到了这个php页面,按你说的,好像是没接收到值,所以php一直处于$keyword==''的状态。你在这个页面多下点功夫,多写点echo输出下代码,看看是哪一步出的错,找到原因了就好处理了。

网站关键词内链,是做好网站内部优化的一个重要环节

织梦(DedeCms)官方默认规则是:

1添加关键词和关键词的链接地址

设置步骤:进入后台 核心->批量维护->文档关键词维护

2文章内容出现该关键词

3文章的关键词出现这个词(就是这里<meta name="keywords" content="" />) //这个是在发布文章的时候填写的

第三条规则使得关键词内链不尽完美,所以得修改文件取消掉第三条规则,达到我们想要的效果,即文章内出现该关键词即链向指定的URL

在Dedecms55,56下测试有效

一、开打include/arcarchivesclassphp 文件

二、查找 function ReplaceKeyword($kw,&$body)

三、往下找到下面这段代码,删除或注释掉

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

foreach($kws as $k)

{

$k = trim($k);

if($k!="")

{

if($i > $maxkey)

{

break;

}

$myrow = $this->dsql->GetOne("select from #@__keywords where keyword='$k' And rpurl<>'' ");

if(is_array($myrow))

{

$karr[] = $k;

$GLOBALS['replaced'][$k] = 0;

$kaarr[] = "<span style="text-decoration: underline;">$k</span>";

}

$i++;

}

}

四、并在注释或删除的代码下面加入以下代码:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

$dsql = new DedeSql(false);

$query="select from #@__keywords where rpurl<>'' ";

$dsql->SetQuery($query);

$dsql->Execute();

while($row = $dsql->GetArray())

{

$key = trim($row['keyword']);

$rul=trim($row['rpurl']);

if($rul!="")

if(!in_array($key, $kw))

if(!in_array($kw,$key))

if(substr_count($body,$key)<20)

{

$karr[] = $key;

$kaarr[] = "$key";

}

}

五、OK,已经修改完成了。直接复制上面代码,文章内同样的关键词只会出现一个链接。

六、一键更新网站->更新所有

在@me内容中截取字符数

{dede:标记名称

属性='值'

function='youfunction("参数一","参数二","@me")'/}

其中 @me 用于表示当前标记的值,其它参数由你的函数决定是否存在

例如: {dede:field name='pubdate' function='strftime("%Y-%m-%d %H:%M:%S","@me")'/}

这个个人觉得可以交给程序自动获取TAG就可以了。。。搜索引擎收录不完全是靠文章的关键字,有很多因素会影响收录的结果的。包括是否采集等。更新频率等等。。。所以还是建议先学习一些基本的SEO优化再试着去解决这些问题。如果是新站就更不用关键去在意这些参数,先期还是要以网站内容为主。。建设好网站。这样一段时间后会有不错的收录的。希望我的回答对你有些许的帮助

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » dede全站做移动跳转+适配,精通dede和PHP的来!

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情