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

修改以后:

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

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

												

dede使用心得的更多相关文章

  1. Dede 列表文章 自增

    在{dede:arclist/}这个标签中有个[field:global.autoindex/],是从0开始自增,如果我们想自定义一个数值,比如自定义从2开始.那么就可以写成下面代码: [field: ...

  2. 我的MYSQL学习心得(一) 简单语法

    我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据类型 我的MYSQL学习心得(五) 运 ...

  3. NoSql数据库使用半年后在设计上面的一些心得

    NoSql数据库这个概念听闻许久了,也陆续看到很多公司和产品都在使用,优缺点似乎都被分析的清清楚楚.但我心里一直存有一个疑惑,它的出现究竟是为了解决什么问题? 这个疑惑非常大,为此我看了很多分析文章, ...

  4. 我的MYSQL学习心得(二) 数据类型宽度

    我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据类型 我的MYSQL学习心得(五) 运 ...

  5. 我的MYSQL学习心得(三) 查看字段长度

    我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(四) 数据类型 我的MYSQL学习心得(五) 运 ...

  6. 我的MYSQL学习心得(四) 数据类型

    我的MYSQL学习心得(四) 数据类型 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(五) 运 ...

  7. 我的MYSQL学习心得(五) 运算符

    我的MYSQL学习心得(五) 运算符 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据 ...

  8. 我的MYSQL学习心得(六) 函数

    我的MYSQL学习心得(六) 函数 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据类 ...

  9. 我的MYSQL学习心得(七) 查询

    我的MYSQL学习心得(七) 查询 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据类 ...

随机推荐

  1. 论文笔记(4):Fully Convolutional Networks for Semantic Segmentation

    一.FCN中的CNN 首先回顾CNN测试图片类别的过程,如下图: 主要由卷积,pool与全连接构成,这里把卷积与pool都看作图中绿色的convolution,全连接为图中蓝色的fully conne ...

  2. python数据类型——数字类型

    Python3 中有六个标准的数据类型: Number(数字) String(字符串) List(列表) Tuple(元组) Sets(集合) Dictionary(字典) 数字类型(Number): ...

  3. 智能合约语言 Solidity 教程系列8 - Solidity API

    这是Solidity教程系列文章第8篇介绍Solidity API,它们主要表现为内置的特殊的变量及函数,存在于全局命名空间里. 写在前面 Solidity 是以太坊智能合约编程语言,阅读本文前,你应 ...

  4. Android OpenGL ES 开发(九): OpenGL ES 纹理贴图

    一.概念 一般说来,纹理是表示物体表面的一幅或几幅二维图形,也称纹理贴图(texture).当把纹理按照特定的方式映射到物体表面上的时候,能使物体看上去更加真实.当前流行的图形系统中,纹理绘制已经成为 ...

  5. 面向对象和面向过程,python中的类class,python中程序的入口——main方法,

    1.程序入口,让main显现出来: print(__name__)#__name___是模块中的隐藏字段,当前模块运行的函数名 if __name__ == __main__ __main__() # ...

  6. 读 《 Web 研发模式的演变 》与《Javascript:世纪机器语言》

       读了两篇文章,内心还是很震撼的,在这之前,我学习知识都是直接找教程,翻阅资料,写几个小demo,没有去了解我所学的东西的发展历程,<Web研发模式的演变>这篇文章讲述了web的前世今 ...

  7. C++学习-10

    类型转换:自动转换,显示转换,强转 总结:CPP编译的时候,从上往下,遇到不匹配,声明扩展了一个类的作用域(此时最多只能创建类的指针或者引用),         由于没有定义是不可能使用到类的成员 完 ...

  8. 解决iar试调时程序无法进入主函数的问题

    尼玛,我TM当时核心板上还接着摄像头,啊啊啊啊,必须吧摄像头关了,不然,k60初始化时会检测io口状态,状态不正确当然无法进入主函.摄像头上电即输出数据,会对单片机上电检测造成干扰.

  9. Python的Argparse模块是什么?(未完)

            近日在阅读代码的过程中遇到了Argparse模块,记得前段时间已经看了,可是过了两周现在又忘了, 看来写代码一定要钻研到底搞清楚其中原委才行,本文主要参考Python3.6系列官方文档 ...

  10. 轮评审用例,写用例的重要性-----(python单元测试反思)

    时间过的真快,3月底了,更新一次博客吧,算是对三月份忙碌的一个总结. 吃过饭,习惯登录qq,看到我群里的一个大神,碎冰发的一个作业 不就是写个代码吗,然后写完再进行测试这个代码是否实现了这个功能. 于 ...