dede使用心得

Question one:

最近做了一些视频教程传到优酷网站上,但我想引入这些视频教程到我的网站,在发表时我发现织梦CMS自带的编辑器又不直接支持优酷等视频网站的引用。所以为了方便教程的发布,特意在网站搜索到本篇教程,详细讲解如何在织梦CMS系统中加入例如优酷网站的教程,一共分为一下几个步骤来完成:

  • 模型自定义字段的添加
  • 优酷swf地址的添加
  • 优酷引用代码的加入

一、实现方法

我们刚才说到,要实现这个效果,自带的编辑器不支持。那么我们就可以利用织梦(织梦模板)内容模型来进行实现,这里我们以默认的文章模型为基础来进行制作(如果是您是其它新建的模型,方法也是一样的)

模型自定义字段的添加

进入后台,依次点击【核心】——【频道模型】——【内容模型管理】,点击【普通文章】后面  进行修改,打开之后,切换到[字段管理],然后点击 [添加新字段] 即可,然后在文章列表--->增加文章中就可以看得到

编辑器中添加视频不成功,是因为第一个选项打了对号

Question two:

首页中的友情链接不好使,解决方法

Include/taglib/flink.lib.php把81行的

$revalue=<<<EOT

<li><a href=‘http://ad.dedecms.com‘ target=‘_blank‘ title=‘DedeCMS广告‘>DedeCMS广告</a></li><li><a href=‘http://service.dedecms.com‘ target=‘_blank‘ title=‘织梦客户服务中心‘>

织梦客户服务中心</a></li><li><a href=‘http://ask.dedecms.com‘ target=‘_blank‘ title=‘织梦问答‘>

织梦问答</a></li><li><a href=‘http://tools.dedecms.com‘ target=‘_blank‘ title=‘站长工具‘>

站长工具</a></li><li><a href=‘http://site.desdev.cn‘ target=‘_blank‘ title=‘DedeCMS建站中心‘>

DedeCMS建站中心</a></li><li><a href=‘http://help.dedecms.com‘ target=‘_blank‘ title=‘织梦CMS帮助中心‘>

织梦CMS帮助中心</a></li><li><a href=‘http://‘ target=‘_blank‘ title=‘‘>

</a></li>

EOT;

改为$revalue=“”

第二部分

Include/taglib/flinktype.lib.php中的代码注销掉:

$dedecms = false;

$dedecms->id = 999;

$dedecms->typename = ‘织梦链‘;

if($type == ‘dedecms‘) $row[] = $dedecms;

然后把首页超链接代码改成这个样子:

横排的超链接:

{dede:flink row=‘24‘ linktype= 2/}

竖排的超链接

{dede:flinktype type="dedecms"}

<a href="#" _for="flink_[field:id/]">[field:typename/]</a>

{/dede:flinktype}

Question three:

做btc项目全部更新不好使是因为修改了后台控制器文件,重新复制覆盖就可以了

Question four:

底部版权信息的修改需要在

Include/taglib/flink.lib.php注销掉一段代码

$arrs1 = array(0x63,0x66,0x67,0x5f,0x70,0x6f,0x77,0x65,0x72,0x62,0x79);

$arrs2 = array(0x20,0x3c,0x61,0x20,0x68,0x72,0x65,0x66,0x3d,0x68,0x74,0x74,0x70,0x3a,0x2f,0x2f,

0x77,0x77,0x77,0x2e,0x64,0x65,0x64,0x65,0x63,0x6d,0x73,0x2e,0x63,0x6f,0x6d,0x20,0x74,0x61,0x72,

0x67,0x65,0x74,0x3d,0x27,0x5f,0x62,0x6c,0x61,0x6e,0x6b,0x27,0x3e,0x50,0x6f,0x77,0x65,0x72,0x20,

0x62,0x79,0x20,0x44,0x65,0x64,0x65,0x43,0x6d,0x73,0x3c,0x2f,0x61,0x3e);

然后修改中的内容footer.htm中的内容为

<!-- //底部模板 -->

<div class="footer w960 center mt1 clear">

<div class="footer_left"></div>

<div class="footer_body">

<div class="copyright">{dede:global.cfg_powerby/}</div>

</div>

<div class="footer_right"></div>

</div>

Question five:

一键更新慢,并且总是报500的错误可能为服务器权限配置有误

后台文件夹中的cache、session、tplcache需要清理,

控制器中的代码需要修改https://www.cnblogs.com/cnteam/p/4692712.html

Question six:

隐藏域名后面的index.html,先在服务器中将index.html放在最顶端,具体根据服务器的不同操作手法不一样,然后将index.php中的代码进行更换

<?php

if(!file_exists(dirname(__FILE__).‘/data/common.inc.php‘))

{

header(‘Location:install/index.php‘);

exit();

}

require_once
(dirname(__FILE__) . "/include/common.inc.php");

require_once
DEDEINC."/arc.partview.class.php";

$GLOBALS[‘_arclistEnv‘]
= ‘index‘;

$row
= $dsql->GetOne("Select * From `dede_homepageset`");

$row[‘templet‘]
= MfTemplet($row[‘templet‘]);

$pv
= new PartView();

$pv->SetTemplet($cfg_basedir
. $cfg_templets_dir . "/" . $row[‘templet‘]);

$pv->Display();

?>

Qustion seven:

dede数据库的编码格式是gbk

Question eight:

修改dede系统中的编辑器

https://blog.csdn.net/dedehtml/article/details/79502774

Question nine:

标签的教程

http://www.dedecms.com/archives/templethelp/help/taghelp.htm

dede标签分为单标签和双标签

标签如何使用

{dede:标签名 属性="值" ../}

但标签的使用如下:{dede:include filename="head.htm" /}

双标签的使用如下:{dede:channel type="top" row="8"}..{/dede:channel}

typelink=typeurl,但有时候是有差别,总之一个不好使,就使用另一个

二级导航

方法一:

<li
class="navitem">

{dede:channelartlist typeid=‘top‘
row=‘6‘}

<a class=‘‘
href="{dede:field name=‘typeurl‘/}"
target="_blank">{dede:field name=‘typename‘/}</a>

<ul class="subnav">

{dede:channel  type=‘son‘ 
row=‘5‘  noself=‘yes‘}

<li><a
href="[field:typelink/]"
target="_blank">[field:typename/]</a></li>

{/dede:channel}

</ul>

{/dede:channelartlist}

</li>

方法2:

不循环直接使用下面标签

{dede:field name=typeid  runphp=”yes”}(@me==’’) @me=’class=’active’’[email protected]==’’:{/dede:field}

{dede:type typeid=1}

[field:typelink/][field:typename]

{/dede:type}

Typeid=1下面的子类如何遍历

{dede:channelartlist typeid=1}

{dede:channel type=son noself=yes}

[field:typelink/][field:typename/]

{/dede:channel}

{/dede:channelartlist}

使用dede中的系统变量:{dede:global.cfg_indexurl/}

广告标签{dede:mda name=”}//默认模板中的广告标签

function=‘Html2Text(@me)是用来屏蔽过滤html代码的。

表示列表模板里的分页内容列表

{dede:list col=‘‘ titlelen=‘‘ “
infolen=‘‘ imgwidth=‘‘ imgheight=‘‘ orderby=‘‘ pagesize=‘‘}{/dede:list}

韩顺平dedecms讲解上课记录

https://www.cnblogs.com/sengling/p/5222517.html

四张重要的数据表:

这四个表很重要,基本上所有的遍历都是在这3个表中

Dede-channeltype,模型表最原始的发源

Dede-arctype:每条记录是一个栏目是发源表

Dede- archives: 内容主表是:是发源表属于一个文章或者电影的主要内容信息

Dede- addonarticle: 这是附加表,就是每篇文章,或者电影都有自己特色信息在这里填写

织梦(dedecms)系统常用全局变量调用标签及路径

{dede:global.cfg_memberurl/} 指的是会员中心 对应/member/目录

{dede:global.cfg_cmsurl/} 对应的是网站根目录/

{dede:global.cfg_dataurl/} data目录对应  /data/

{dede:global.cfg_basehost/} 网站地址 比方:http://www.sina.com

{dede:global.cfg_webname/} 网站名称

{dede:global.cfg_soft_lang/} 网页编码  GBK2312 或者 UTF-8

{dede:global.cfg_description/} 网站描述(摘要)

{dede:global.cfg_keywords/} 网站关键词

{dede:field.title/} 列表页或者文章页标题

{dede:field
name=’keywords’/}
 列表页或者文章页关键词

{dede:field
name=’description’ function=’html2text(@me)’/}
 列表页或者文章页描述(摘要)

{dede:field.seotitle
/}
 栏目SEO标题

{dede:field.content/} 栏目内容

{dede:prenext
get=’pre’/}
 上一篇

{dede:prenext
get=’next’/}
 下一篇

{dede:pagebreak/} 文章分页

{dede:pagelist
listitem=”info,index,end,pre,next,pageno,option” listsize=”5″/}
 列表分页

{dede:field
name=’position’/}
 当前位置

{dede:global.cfg_templets_skin/} 对应的是/templets/模板目录

{dede:global.cfg_templeturl/} 织梦模板目录所在路径  对应 /templets/

@me 用于表示当前标记的值

首页轮播图的遍历

思路,把一些杂项的放在一个叫做网站配置的栏目里面

杂乱的东西都放在网站配置里面即新建一个栏目,叫做网站配置,包括3个子栏目,分别为图片配置、文字配置和轮播图配置

深度刷新ctrl+f5

dedecms织梦首页调用指定id文章内容的教程

channelid模型id

{dede:arclist idlist=‘要调用文章的id‘ channelid=‘1‘ addfields=‘body‘}

[field:body function=‘cn_substr(@me,330)‘/]

{/dede:arclist}//我试过,不太好使,也可以用另外一种思路

当前位置标签:

{dede:field
name=‘position‘/}

如何获取顶级栏目,其实有一种很简单的方法

1、在include/common.func.php的最下方加入:

2、//获取顶级栏目名

function GetTopTypename($id)

{

global $dsql;

$row = $dsql->GetOne("SELECT typename,topid FROM dede_arctype WHERE id=
$id");

if ($row[‘topid‘] == ‘0‘)

{

return $row[‘typename‘];

}

else

{

$row1 = $dsql->GetOne("SELECT typename FROM dede_arctype WHERE id=
$row[topid]");

return $row1[‘typename‘];

}

}

在文章页或者栏目列表页调用时,在所要调用 名称的位置加上下面这行代码即可实现。

{dede:field name=‘typeid‘
function="GetTopTypename(@me)" /}

===================================

Dedecms获取顶级栏目名称、二级栏目名称实现方法:

需要在二级、三级,甚至更多级,获取顶级栏目或者二级栏目名称。

现在和大家分享下最简单的实现方法,找到include/common.func.php文件,在里面加入下面这段代码:

//获取二级栏目名

function GetTopTypename($id)

{

global $dsql;

$row = $dsql->GetOne("SELECT typename,reid FROM gsh_arctype WHERE id=
$id");

if ($row[‘reid‘] == ‘0‘)

{

return $row[‘typename‘];

}

else

{

$row2 = $dsql->GetOne("SELECT typename FROM gsh_arctype WHERE id=
$row[reid]");

return $row2[‘typename‘];

}

}

然后在任意列表页、内容页需要调用名称的地方加入:

{dede:field.typeid
fuction="GetToypename(@me)"/}

如果在Dede标签里面,就用下面这句调用:

[field:typeid
fuction="GetToypename(@me)"/]

童攀所讲项目

http://www.chrent.com

下载按钮:

添加两个字段,一是文件上传,附件

二是文件下载地址,单行文本

登录注册页面

用自定义表单来写

验证码的使用二次开发

plus/diy.php; include/vdimgck.php;用到这两个方法,在前一个方法中的大概第61行,加入以下代码:

if(!empty($dede_fields))
         { 
                 $validate = empty($validate) ? ‘‘ : strtolower(trim($validate));            
                 $svali = strtolower(GetCkVdValue());
                 if(($validate==‘‘ || $validate != $svali) && preg_match("/6/",$safe_gdopen)){ 
                          ResetVdValue(); 
                          ShowMsg(‘验证码不正确!‘,$dede_add,0,1000); 
                          echo ‘<script language="javascript">history.go(-1);</script>‘;
                 } 
         }

然后开始改模板中的代码:

<input name="validate" type="text" id="vdcode" style="text-transform:uppercase;" size="8"/>
<img id="vdimgck" align="absmiddle" onClick="this.src=this.src+‘?‘" style="cursor: pointer;" alt="看不清?点击更换" src="../include/vdimgck.php"/>
<a href="javascript:vide(-1);" onClick="changeAuthCode();">看不清? </a>
<script type="text/javascript" language="javascript">
//验证码
function changeAuthCode() {  
         var num = new Date().getTime();
         var rand = Math.round(Math.random() * 10000); 
         num = num + rand; 
         $(‘#ver_code‘).css(‘visibility‘,‘visible‘); 
         if ($("#vdimgck")[0]) { 
             $("#vdimgck")[0].src = "../include/vdimgck.php?tag=" + num; 
         } 
         return false;
}
</script>
验证码不显示的问题解决方法:
因为模板中的的路径问题,/include/vdimgck.php,去掉前面的两点
表单的字段验证js代码,是很舒服的一段代码:
<!doctype html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>表单验证js</title>
  <script>
    function checkform(){
      if (document.yanzheng.xingming.value==‘‘) {
        alert("姓名不能我空");
        document.yanzheng.xingming.focus();
        return false;
      }
      if (document.yanzheng.age.value==‘‘) {
        alert("年龄不能我空");
        document.yanzheng.age.focus();
        return false;
      }
    }
  </script>
</head>
<body>
  <h4>注册页面</h4>
  <form action="" name="yanzheng" onsubmit="return checkform()">
    <input type="text" name="xingming" vlaue=""><br>
    <input type="text" name="age" value=""><br>
    <input type="submit" value="注册">
  </form>
</body>
</html>
添加栏目的时候,栏目的显示与隐藏,那边有很多的属性可供选择,但是不是很熟悉
搜索功能的实现,在搜索页面遍历栏目,是遍历不出来的,需要进行二次开发:

很多朋友在使用dedecms进行网站开发时都会存在这样的问题,那就是dedecms的搜索页(search.php)与我们网站页面的模板的头部、底部不一样,并且还不支持在搜索页调用其他某一栏目的文档。但是我们实际的网站建设中有时候必须保证我们的搜索页与我们的其他页面风格一样,所以我们要对搜索页进行一些改造:

下边我们来介绍一下如何在搜索页支持arclist和channelartlist这两个标签的调用:

打开include/arc.searchview.class.php

查找

require_once(DEDEINC."/taglib/hotwords.lib.php");

require_once(DEDEINC."/taglib/channel.lib.php");

下面插入

require_once(DEDEINC."/taglib/arclist.lib.php");

require_once(DEDEINC."/taglib/channelartlist.lib.php");

查找

else if($tagname=="hotwords")

{

$this->dtp->Assign($tagid,lib_hotwords($ctag,$this));

}

下面插入

else if($tagname=="arclist")

{

$this->dtp->Assign($tagid,lib_arclist($ctag,$this));

}

else if($tagname=="channelartlist")

{

$this->dtp->Assign($tagid,lib_channelartlist($ctag,$this));

}

方法二:

打开文件:include/arc.searchview.class.php

找到:

require_once(DEDEINC."/taglib/hotwords.lib.php");

在下面添加:

require_once(DEDEINC."/taglib/channel.lib.php");

require_once(DEDEINC."/taglib/arclist.lib.php");

require_once(DEDEINC."/taglib/channelartlist.lib.php");

require_once(DEDEINC."/taglib/myad.lib.php");

require_once(DEDEINC."/taglib/php.lib.php");

require_once(DEDEINC."/taglib/sql.lib.php");

然后找到:

else if($tagname=="hotwords")

{

$this->dtp->Assign($tagid,lib_hotwords($ctag,$this));

}

在下面添加:

else if($tagname=="arclist")

{

$this->dtp->Assign($tagid,lib_arclist($ctag,$this));

}

else if($tagname=="channelartlist")

{

$this->dtp->Assign($tagid,lib_channelartlist($ctag,$this));

}

else if($tagname=="myad")

{

$this->dtp->Assign($tagid,lib_myad($ctag,$this));

}

else if($tagname=="php")

{

$this->dtp->Assign($tagid,lib_php($ctag,$this));

}

else if($tagname=="sql")

{

$this->dtp->Assign($tagid,lib_sql($ctag,$this));

}

这样,搜索页面就支持多种标签了。

包括{dede:arclist} {/dede:arclist}、{dede: channelartlist } {/dede: channelartlist}、{dede: myad } {/dede: myad }、{dede: php } {/dede: php }、{dede: sql } {/dede: sql }

如果需要支持其他的标签,以此类推。

[field:click runphp=yes]if(@>100)@me=”输入hot图片”;[email protected]=””[/field:click]
评论插件:
友言、畅言、多说,
在线留言:百度商桥、qq推广
如何用织梦中的banner图呢,很简单,只要在添加文章的时候在自定义属性中选择幻灯即可,频道封面栏目下面不能发布文章。
默认模板中的banner代码如何改变
swf_width;swf_height;据此修改宽和高;
 textarr[[field:global.autoindex/]] = "[field:title function=‘html2text(@me)‘/]";把这一行代码注销掉
修改以前:

修改以后:

循环的时候,typeid=nottypeid=,而不是说,typeid!=
用谷歌上传缩略图的时候有一个安全问题,需要修改一下,否则一直错,或者换一个浏览器。
添加栏目时候的注意事项:
 
 
 
 
 
 
 
核心网站栏目管理中的各个功能:
这一部分的各个属性要很熟悉才对

这一部分可以修改文章和列表的命名规则,一般是把中间的那个路径删掉,因为太长的路径不友善
 
 
 
 
栏目内容,是为了频道封面栏目添加内容,因为频道封面栏目下面是不能添加文章的
 



原文地址:https://www.cnblogs.com/laomaBlog/p/8727512.html

时间: 2024-10-10 17:11:49

dede使用心得的相关文章

搬迁DEDE网站到阿里云心得

以前公司的网站放在国内某虚拟机上面,后来老是出问题,动部动就网站打不开,客户也经常投诉速度慢.后来果断换到了香港的虚拟机上面,不为别的,速度还行感觉比国内的空间都快,主要是稳定,还不用备案.后来需要进行SEM推广,需要备案,只好买了个最便宜的阿里云ECS服务器,最低端的那种.由于公司网站访问量不是很大,一天最大IP也就300左右,最低端的也足够了. 由于刚开始接触服务器这块,而且刚买的服务器就像电脑的裸机,操作系统没装,软件没装,费了3天网上各种找资料终于配置好了,用的是LINUX+NGINX+

dede源码解读(1)——index.php

刚学习php,感觉织梦cms很好,就像学习一下,记录下自己的学习心得! 我是新手,php不是了解,错误不当之处,欢迎批评指正,不胜感激! 今天先来分析织梦的入口文件index.php,先贴代码,逐行分析 1 <?php 2 /** 3 * @version $Id: index.php 1 9:23 2010-11-11 tianya $ 4 * @package DedeCMS.Site 5 * @copyright Copyright (c) 2007 - 2010, DesDev, Inc

Dede 列表文章 自增

在{dede:arclist/}这个标签中有个[field:global.autoindex/],是从0开始自增,如果我们想自定义一个数值,比如自定义从2开始.那么就可以写成下面代码: [field:autoindex runphp='yes']@me=$GLOBALS['autoindex']+2;[/field:autoindex] 说明:+2就代表从2开始,-1就代表从-1开始. 注意:这个自增长需要到你的循环列表开始与结束之间! 在{dede:arclist/}这个标签中大家都知道有个[

Delphi组件indy 10中IdTCPServer修正及SSL使用心得

indy 10终于随着Delphi2005发布了,不过indy套件在我的印象中总是复杂并且BUG不断,说实话,不是看在他一整套组件的面子上,我还是喜欢VCL原生的Socket组件,简洁,清晰.Indy9发展到了indy10几乎完全不兼容,可叹啊.言归正传.在使用IdTCPServer组件的时候发现了他的漏洞,他的OnConnec,OnExecute,OnDisconnect等事件是在其他线程中执行的,通常情况下这没有问题,但是在特殊的情况下会造成问题,如果其他部分的程序写得有问题就会出现漏洞.

Linux系统理解以及Linux系统学习心得

原创作品转载请注明出处  <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 作者:严哲璟 说一下我对Linux系统的理解 1.加载Linux内核准备:在加载基本输入输出模块(BIOS)之后,从磁盘的引导扇区读入操作系统的代码文件块到内存中,之后开始整个系统的初始化. 2.main.c的start_kernel函数是整个操作系统的入口,这也与Linux是基于C语言的特性相符,start_kernel具体做的动作很多

参加老男孩linux培训心得

参加老男孩linux培训心得 时间如白驹过隙,已经不知不觉来到老男孩培训已经三个月了.在这三个月中我渐渐得到了成长,专业技术成长,以及为人处事之道与思想的提高. 我一共就总结以下了三点     一.思想 在我刚来老男孩的时候,老师天天上课前讲一段思想,我当时不太明白,不赶紧上课,讲这干啥呢?而且老师早一点讲完,又可以招下一批学生了,老讲思想,这不是自断财路么?随着时间的流逝,渐渐的我悟懂了点.人在那里都可以学技术,但是学会了技术没有思想,一旦来了新事物,就会接受的很慢.尤其在互联网这个圈子里,软

dede 首页的常用标签

dede 首页的常用标签!1.织梦标签学习方法1)不要深究织梦的标签是织梦的开发者提供给我们的,我们只要使用就好了,不要深究,这超出我们学习使用织梦的范畴了,我们本课程不是搞二次开发!2)复制很重要使用dede 不要去背那些提供给我们的标签,我们只要会复制粘贴,对某个标签有疑问直接粘贴到模板里看看能得到什么结果就可以了!2.标签分类1)单标签{dede:标签名属性="值" ..../}{dede:include filename="head.htm"/}2)双标签{

Linux串口IO模式的一些心得

众所周知,在Linux系统下所有设备都是以文件的形式存在,串口也一样. 通常I/O操作都是有阻塞与非阻塞的两种方式. 其中"超时"这个概念其实是阻塞中的一种处理手段,本质还是属于阻塞的I/O模式. 在Linux中串口的IO操作 本文将它分为三种状态: 阻塞状态 超时状态 非阻塞状态 这三种状态的转换组合有这么几种: 阻塞 --> 超时 阻塞 --> 非阻塞 超时 --> 阻塞 超时 --> 非阻塞 非阻塞 --> 阻塞 我们一个一个来分析 首先在一个串口的

我的MYSQL学习心得(八)

我的MYSQL学习心得(八) 我的MYSQL学习心得(一) 我的MYSQL学习心得(二) 我的MYSQL学习心得(三) 我的MYSQL学习心得(四) 我的MYSQL学习心得(五) 我的MYSQL学习心得(六) 我的MYSQL学习心得(七) 这一篇<我的MYSQL学习心得(七)>将会讲解MYSQL的插入.更新和删除语句 同样的,只会讲解跟SQLSERVER不同的地方 插入 将多行查询结果插入到表中 语法 INSERT INTO table_name1(column_list1) SELECT (