dedecms织梦advancedsearch页面显示自定义字段的方法

资源来源网络,如需授权,请更换源码,模块仅供学习,如需商用请购买正版授权,本栏目不提供技术服务!
如遇蓝奏网盘打不开lanzous替换成lanzoux尝试!

  在DEDE织梦系统下,高级搜索advancedsearch结果页默认不能显示自定义字段,我们可以通过修改程序来实现:

  第一步:找到/plus/advancedsearch.php文件,在第224行附近找到以下代码:

  $query=”select main.id as aid,main.*,main.description as description1, type.*

  from $maintable main

  left join dede_arctype type on type.id=main.typeid

  left join $addontable addon on addon.aid=main.id

  $where $orderby”;

  第二步:修改第一步中的查询语句,添加自定义字段查询内容,加上“,addon.* ”如下:

  $query=”select main.id as aid,main.*,main.description as description1, type.* ,addon.*

  from $maintable main

  left join dede_arctype type on type.id=main.typeid

  left join $addontable addon on addon.aid=main.id

  $where $orderby”;

  修改会员中心默认的会员中心member表face字段,有两种方式:

  第一种:用phpmyadmin打开织梦的数据库

  修改会员中心member表face字段类型

  修改会员中心member表face字段类型1

  修改会员中心member表face字段类型2

  保存即可!

  第二种办法织梦后台执行下面的mysql语句

  ALTER TABLE `yq_member` CHANGE `face` `face` VARCHAR( 250 ) CHARACTER SET gbk COLLATE gbk_chinese_ci NOT NULL

  记得修改表的前缀

  修改会员中心member表face字段类型3

  有时候我们需要在dedecms问答模块中调用网站首页或者栏目页面的头部模版文件,但是不能直接调用怎么办?dedecms5.7中可以通过添加函数的方法调用。

  一、DedeCMS v5.7系统打开”/include/extend.func.php”,该文件5.7版本默认存在。DedeCMS5.6系统可以加在/include/common.func.php结尾,v5.5的不存在,自己建一个common.func.php,放在include文件夹下。

  然后在该文件中加入一个函数,代码如下:

  复制代码

  function pasterTempletDiy($path)

  {

  require_once(DEDEINC.”/arc.partview.class.php”);

  global $cfg_basedir,$cfg_templets_dir;

  $tmpfile=$cfg_basedir.$cfg_templets_dir.”/”.$path;//模版文件的路径

  $dtp=new PartView();

  $dtp->SetTemplet($tmpfile);

  $dtp->Display();

  }

  第二步,打开留言本或者问答的模版文件,默认的是/templets/plus/guestbook.htm或者/ask/templates/default,在其后,加入如下代码:

  复制代码

  

  pasterTempletDiy(“default/head.htm”);

  ?>

  代码就和其他模版调用的方法一样了。

  DedeCms的问答、评论页、会员空间导航等,按上边的方法即可。

  也可以调用底部,左右侧的模版。

  织梦DEDECMS文章、栏目页获取当前页面顶级栏目名称的方法

  在用织梦做一些项目时,时常会碰到需要在当前页面调用顶级栏目名称的时候,织梦默认{dede:field name=’typename’ /} 可以获取当前栏目页上一级栏目的名称,而不是当前栏目顶级栏目名称。

  下面拓展出一个方法来实现这个效果、:

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

  //获取顶级栏目名

  织梦dedecms获取顶级栏目名称

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

  复制代码

  {dede:field name=’typeid’ function=”GetTopTypename(@me)” /}

  在文章页中用下面这个方法来调用

  复制代码

  {dede:field name=’typeid’ function=”GetTopTypename(@me) /}===================================

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

  站长地带做站的时候碰到一个问题,需要在二级、三级,甚至更多级,获取顶级栏目或者二级栏目名称。

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

  //获取二级栏目名

  织梦dedecms获取顶级栏目名称2

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

  复制代码

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

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

  复制代码

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

  上面这个方法是调用栏目的二级栏目名称,如果需要顶级栏目名称,只要将SQL里面的reid字段改成topid就可以了。另外记得将dede_arctype前缀改成你数据库的前缀。

  dedecms新建栏目时默认都是允许投稿的,可以投稿本来对网站来说是件好事,但是dedecms是开源的,使用太广泛了,所以,投稿功能就成了别人发垃圾消息的途径了。

  本来关掉投稿功能就可以解决垃圾消息的问题,但是现在又需要投稿功能,不得不采取其他方法来处理垃圾消息了。

  首先就是更改会员系统的目录,有些人就是通过百度或谷歌搜索inurl:member/index.php?uid=admin 这样可以把所有织梦相关收录的网站都提取出来,然后用软件批量提交发垃圾消息。更改目录后,可以降低被宣战发垃圾消息的概率。

  不过更改之后可能模板里面有些路径需要更改一下,还有几十下面的这个配置文件,DEDEMEMBER这个自定义常量需要修改。慢慢弄吧。我从这一步开始,后面还要继续增加一些防垃圾消息的方法。

  这几个东西很多文件都用到的

  /include/common.inc.php ————————–根目录的include文件夹里

  复制代码

  define(‘DEDEINC’, ereg_replace(“[/\]{1,}”,’/’,dirname(__FILE__) ) );

  define(‘DEDEROOT’, ereg_replace(“[/\]{1,}”,’/’,substr(DEDEINC,0,-8) ) );

  define(‘DEDEDATA’, DEDEROOT.’/data’);

  define(‘DEDEMEMBER’, DEDEROOT.’/member’);

  安装了DedeCMS 5.7 SP1,访问后台的时候发现报出错误“DedeCMS Error: (PHP 5.3 and above) Please set ‘request_order’ ini value to include C,G and P (recommended: ‘CGP’) in php.ini,more…”

  织梦DedeCMS错误

  解决办法1:

  这个错误其实已经在报错的时候提示解决办法了,在PHP 5.3以上版本,增加了一个request_order配置项,默认值为“GP”。DedeCMS认为默认配置有一定风险,所以建议修改成“CGP”就可以了。

  解决办法:

  找到PHP目录下的php.ini文件,找到request_order配置项,将之前的:

  request_order=”GP”

  修改为:

  request_order=”CGP”

  然后重启Apache或者IIS就可以了。

  解决办法2:(针对虚拟主机用户,无法修改php.ini的用户)

  找到文件: include/common.inc.php

  找到34行:if(strtoupper(ini_get(‘request_order’))==’GP’)

  修改成:

  if(strtoupper(ini_get(‘request_order’))==’CGP’)

  搞定。

  解决办法3:

  在 FTP 里,找到文件夹include,右键编辑“common.inc.php”找到if(version_compare(PHP_VERSION, ‘5.3.0’, ‘>’))

  {

  if(strtoupper(ini_get(‘request_order’))==’GP’)

  exit(‘DedeCMS Error: (PHP 5.3 and above) Please set \’request_order\’ ini value to include C,G and P (recommended: \’CGP\’) in php.ini,

  看到上面代码中的GP了吗?将 ‘GP’改成 ‘CGP’ 即可!

  一、安装Memcache服务:

  1.1.linux下的Memcache安装:

  ————————-

  1. 下载 memcache的linux版本,注意 memcached 用 libevent 来做事件驱动,所以要先安装有 libevent。

  2. 安装 pecl::memcache。

  用 pecl 命令行工具安装:

  pecl install memcache

  或直接从源码安装:

  phpize

  http://www.dede58.com/a/zhimengjiaocheng/dedefault/configure

  make

  make install

  1.2.Windows下的Memcache安装:

  —————————-

  1. 下载memcache的windows稳定版,解压放某个盘下面,比如在c:\memcached

  2. 在终端(也即cmd命令界面)下输入 ‘c:\memcached\memcached.exe -d install’ 安装

  3. 再输入: ‘c:\memcached\memcached.exe -d start’ 启动。NOTE: 以后memcached将作为windows的一个服务每次开机时自动启动。这样服务器端已经安装完毕了。

  4.下载php_memcache.dll,请自己查找对应的php版本的文件

  5. 在C:\winnt\php.ini 加入一行 ‘extension=php_memcache.dll’

  6.重新启动Apache,然后查看一下phpinfo,如果有memcache,那么就说明安装成功!

  memcached的基本设置:

  -p 监听的端口

  -l 连接的IP地址, 默认是本机

  -d start 启动memcached服务

  -d restart 重起memcached服务

  -d stop|shutdown 关闭正在运行的memcached服务

  -d install 安装memcached服务

  -d uninstall 卸载memcached服务

  -u 以管理员的身份运行 (仅在以root运行的时候有效)

  -m 最大内存使用,单位MB。默认64MB

  -M 内存耗尽时返回错误,而不是删除项

  -c 最大同时连接数,默认是1024

  -f 块大小增长因子,默认是1.25-n 最小分配空间,key+value+flags默认是48

  -h 显示帮助

  1.3.php.ini中的配置:

  ——————–

  [Memcache]

  ; 一个高性能的分布式的内存对象缓存系统,通过在内存里维护一个统一的巨大的hash表,

  ; 它能够用来存储各种格式的数据,包括图像、视频、文件以及数据库检索的结果等。

  ; 是否在遇到错误时透明地向其他服务器进行故障转移。

  memcache.allow_failover=On

  ; 接受和发送数据时最多尝试多少个服务器,只在打开memcache.allow_failover时有效。memcache.max_failover_attempts=20

  ; 数据将按照此值设定的块大小进行转移。此值越小所需的额外网络传输越多。

  ; 如果发现无法解释的速度降低,可以尝试将此值增加到32768。

  memcache.chunk_size=8192

  ; 连接到memcached服务器时使用的默认TCP端口。

  memcache.default_port=11211

  ; 控制将key映射到server的策略。默认值”standard”表示使用先前版本的老hash策略。

  ; 设为”consistent”可以允许在连接池中添加/删除服务器时不必重新计算key与server之间的映射关系。

  ;memcache.hash_strategy=”standard”; 控制将key映射到server的散列函数。默认值”crc32″使用CRC32算法,而”fnv”则表示使用FNV-1a算法。

  ; FNV-1a比CRC32速度稍低,但是散列效果更好。

  ;memcache.hash_function=”crc32″

  ;memcache也可以作为session的存储模块,具体参看:memcache PHP 的 session.save_handler.

  二、DedeCMS后台设置

  进入系统后台,在[系统基本参数]下面的”性能选项”卡当中,关于memcache进行如下配置:

  cfg_memcache_enable : 是否启用memcache缓存,如果为否(N),默认使用文件缓存;

  这个选项设置为开启:Y

  cfg_memcache_mc_defa : 默认memcache缓存服务器地址;

  这个选项中填入服务器地址:memcache://127.0.0.1:11211/default127

  cfg_memcache_mc_oth : 附加memcache缓存服务器地址;

  这个如果没有可以为空.

  三、设定缓存时间

  cfg_puccache_time : 需缓存内容全局缓存时间(秒),这个里面需要设定缓存周期,默认为36000秒

  四、Memcache的分布式应用

  * memcache适合与web server安装在同一server上

  * memcache可以在n个端口开n个进程,如果和web server在同一机器的话,还能减少网络开销.

  * 配置简单,启动一个进程就行了,免去了配置文件

  五、DedeCMS缓存函数开发说明

  由于封装成小助手的形式,所以在使用的时候先初始化:

  helper(‘cache’);

  几个简单的方法:

  SetCache() 设定缓存信息

  GetCache() 获取缓存内容

  DelCache() 删除缓存内容,简单的使用例子如:

  DedeCMS V5.7 memcache配置说明

  六、参考网站

  织梦MVC开发框架是一个精简、迷你的web开发框架,用这个开发框架可以编写基于织梦内容管理系统的扩展功能、模块(插件),甚至可以将其分离出来开发博客、BBS、SNS等。

  目录结构说明:

  |_app

  |___control 控制器(C)

  |___model 模型(M)

  |___templates 视图模板(V)

  |___libraries 类库

  |___data 配置

  |___data\helper 小助手

  |___static 样式,js,图片文件夹

  |___index.php 统一入口文件

  统一入口解析地址

  http://你的网址/app/index.php?ct=index&ac=save

  ct=index:控制器入口,对应到目录control中的index.php

  如果RunApp()指定了第三个参数,例如问答中RunApp($ct, $ac , ‘admin’),说明ct=index:控制器入口,对应到目录control/admin中的index.php

  ac=save:操作,对应文件index.php中的class index中function ac_save()

  控制器中将相关功能操作都存放至一个文件中,例如留言板,可以使用:

  ?ct=guestbook&ac={do}统一完成,这样也便于静态化部署.

  1.控制器开发说明(control):

  基本代码结构:

  复制代码

  class yourctname extends Control

  {

  public function ac_save()

  {

  }

  }

  控制器可以选择继承一个基类:Control,这个类对应的文件名是/include/control.class.php,这里面含有基类的相关操作说明,这里有几个常用方法:

  $control->Model();

  //载入一个模型。例如问答模块中index.php中的 $this->question=$this->Model(‘mquestion’),就是在载入了mquestion这个模型。然后我们就可以通过$this->question来调用模型相应操作。实现数据的插入,更新等等操作。调用类的名字可以随便定义,但要保证没有冲突。模型的文件放在model目录中。

  $control->Libraries();

  //载入一个类。有时开发我们需要一个系统中不存在的类时,我们可以通过这个方法来载入一个自己的类。具体的方法和模型一样。类放在libraries目录中。

  $control->helper();

  //载入一个小助手。引入小助手是为了更好的帮助我们存放和管理需要用到的Function。

  具体的方法和模型一样。小助手放在data\helper目录中。

  $control->SetTemplate();

  $control->SetTemplet(); // 设定当前操作需要指定的模板;

  $control->SetVar($k, $v); // 设定模板需要解析的变量,在模板中使用{dede:var.name /}进行调用.

  GLOBALS[‘k’]=$k;

  // 设定模板需要的变量,在模板中可以直接用方式输出(问答模块基本上都是采用这样的方式输出),这种方式比较适合处理一些复杂的数据,例如数组。

  $control->GetVar($k); // 获取设定的模板变量

  $control->Display(); // 显示模板解析后的内容

  $control->SaveTo(); // 将内容保存到文件

  控制器中关于模板的使用操作可以参看DedeTemplate模板引擎,具体可以参看公司内部开发文档中模板说明相关章节.

  模型开发说明(Model):

  复制代码

  class mtype extends Model

  {

  public function get_one()

  {

  }

  }

  控制器可以选择继承一个基类:Model,这个类对应的文件名是/include/model.class.php,这里面含有数据库类的相关操作说明,这里只有一个方法:

  $model->dsql();

  //实例化数据库操作类。模型中关于数据库类的使用操作可以参看数据库类使用说明(http://help.dedecms.com/v53/archives/functions/db/)

  模板标签调用说明:

  如果在控制器中通过$control->SetVar($k, $v); 这种方式设定的参数,我们通过标签 {dede:var.name /}的方式进行调用。

  如果在控制器中通过GLOBALS[‘k’]=$k;这种方式设定的参数,我们通过标签 {dede:global.name/}的方式进行调用或者直接采用php的方式进行输出。

  更多的关于模板标签的使用可以到http://help.dedecms.com/v53/ 上进行查询

  dede是一款非常普遍的CMS程序,但是安装好后往往都提示:“没有更改默认管理员名称admin,建议您修改为其他管理账号!马上修改”,但是根据提示你没有办法修改默认的管理员名称,只能增加笔名。即使你添加管理员,也不能删除admin这个管理员名称。

  为什么要修改管理员ID?

  修改admin有很多好处主要是为了系统更加安全,修改一个只有你自己知道的名字。

  如何修改管理员ID(admin)?

  作者多方寻找,总算是找到了一个满意的答案,分享给各位站长。

  方法如下:

  1、先登录到后台系统,依次点击系统-数据库备份/还原,这时候会跳出来很多表,我们只需要用到dede_admin这个表名,先拉到最下面单击取消,然后在把dede_admin这个表勾上就可以了。如下图:

  织梦dedeCMS如何更改默认管理员名称admin

  然后拉到最底部, 勾选备份表结构信息,点提交-备份完成。如下图:

  织梦dedeCMS如何更改默认管理员名称admin1

  然后登陆到FTP,找到根目录下的data文件夹然后打开进入backupdata这个文件夹,找到类似 dede_admin_0_ba5fabe4aa5ff9a7.txt这个文件,前缀都是一样的,后缀可能会不一样。下载到本地,用记事本打开,有个admin,这就是默认的ID号,改成你想要的名字即可,然后保存。如图:

  织梦dedeCMS如何更改默认管理员名称admin2

  然后上传覆盖原来的即可(不放心可以提前备份一下)。

  最后登陆到后台,还原一次数据,就可以了。如图:

  织梦dedeCMS如何更改默认管理员名称admin3

  织梦dedeCMS如何更改默认管理员名称admin4

  然后你会发现登陆ID已经变成你改的名称了。

  织梦dedeCMS如何更改默认管理员名称admin5

  这样就OK了,各位站长自己试下吧。

  网页模板就是templets中的htm文件,所以编写模板就是要编写html。这篇文章不是关于标签的具体使用,而是对网页模板的一些理解。包括基本的标签语法,封面模板,列表模板和文档模板的关系。

  一 关于标签

  dedecms标签:就像html标签,不过是织梦自定义的,由标签名,属性,和InnerText构成。

  先看一段代码templets/index.htm

  复制代码

  网站名:{dede:global name=cfg_webname/}

  最近登陆的会员

  {dede:memberlist row=6 signlen=30}

  

   [field:uname/]

  

  {/dede:memberlist}

  通过运行网站主页index.php查看结果。

  像dede:global就是标签名,name=cfg_webname是属性,在dede:memberlist标签间的就是InnerText。在织梦中,InnerText又称为底层模板。

  短标签:像global这种只有单边的标签叫短标签,表示一个元素的值。

  块标签:像memberlist这种成对的标签叫块标签,一般表示一系列的纪录,像上面的代码就表示列出6个会员的默写信息。研究一下会发现这些记录来自数据库。

  [field:XX]这个代表记录中的某个属性值。

  总结一下,编写模板时用到这些语言

  Html代码+新增的dedecms标签语法。

  Css和Js没有新语法,以外部文件的方式调用。

  Php,mysql的代码大大减少,与数据库查询有关的代码大部分被标签语法。比如说调用memberlist标签,就等价于访问数据表dede_cms。Php主要用于插件等新模块的编写和修改。

  以上只是织梦标签语法的简述,详见模板手册

  标记手册1

  标记手册2

  站长百科

  二 模板的种类

  2.1 templets文件夹

  System文件夹,里面放的是默认底层模板。当我们在块级标签间不写任何东西时,就会自动被调用来作为块级标签的InnerText。

  Plus文件夹,里面放的是被root_dir/plus里的php调用的模板。经过一些研究也许能仿写这些模板的代码,待探究。

  Default文件夹,里面放的是默认模板,是网页显示主要的模板,如果在网上下一个其他的dedecms模板(非官方默认模板),可能里面只是一个templets文件夹,因为这对外观已经足够了。下面是default文件夹的分析。

  我以前只用到index.htm,其他的文件有什么用呢?

  我认为这些文件可以分成两类:

  第一类不是一个完整的页面,被include的(由于有了dedecms标签,html文档中也可以include)。如head.htm,footer.htm等。

  第二类就是完整的页面了,呵呵。

  而第二类又分为封面(index)模板,列表(list)模板,文档(内容,article)模板。文件夹中的index_XX.htm就是封面模板,依此类推。

  2.2封面、列表和文档模板的测试

  在root_dir/index.php中的SetTemplet处把路径改为dirname(__FILE__) . “/templets/default/

  list_article.htm”,显示的内容不太完整。这些模板要怎么用呢?一下是我探索的办法:

  打开dedecms的网站后台管理(对了,请先安装安装数据体验包,这样才有测试数据)

  点击网站栏目管理

  织梦dedecms系统网页模板编写

  织梦dedecms系统网页模板编写1

  在网页基础中点更改

  织梦dedecms系统网页模板编写2

  常规选项中栏目属性是频道封面

  再选择高级选项

  织梦dedecms系统网页模板编写3

  高级选项中封面模板为{style}/index_article.htm

  如果你安装的数据和我是同一版本,就会知道网页基础是个一级栏目,底下组织了很多文章。

  织梦dedecms系统网页模板编写4

  回到网站栏目管理

  织梦dedecms系统网页模板编写5

  点击预览,会看到一个关于网页基础栏目的页面。由于常规选项中栏目属性是频道封面,高级选项中封面模板为{style}/index_article.htm,所以网页调用index_article.htm作为模板。

  依此类推,如果在常规选项中栏目属性是最终列表栏目,高级选项中封面模板为{style}/list_article.htm,则会调用list_article.htm作为模板,文档模板也依此类推。

  模板和栏目的关系

  每一个栏目都有自己的三个模板,而同一个模板可被多个栏目所用。也就是说,模板只是提供了样式,但内容终究来至数据库。这也说明了为什么在root_dir/index.php中的SetTemplet处改路径不能显示完整的内容,因为模板没有绑定到某个具体栏目。这也是织梦作为内容管理系统的特点,把样式和内容分离。

  再来说说文档模板,在常规选项->栏目属性处看到。作为频道封面栏目不能发布文章的。那我们选一个最终列表栏目,如”Html”

  织梦dedecms系统网页模板编写6

  点击更改。看到常规选项中栏目属性是最终列表栏目,点高级选项,就能看到文档模板为{style}/article_article.htm,所以Html栏目下所有的文章都会以这个模板显示。

  织梦dedecms系统网页模板编写7

  点击内容管理里的普通文章

  织梦dedecms系统网页模板编写8

  选择一篇Html栏目下的文章,点预览(右边的那个绿色小球)

  织梦dedecms系统网页模板编写9

  这时看到的是就是article_article.htm模板代表的样式。

  到这里,应该就会如何显示/调试封面模板、列表模板和文档模板了。

  2.3频道

  可以看见templets/default中大部分的模板都是这三类,可见其重要性。那么有index_article.htm,list_article.htm,article_article.htm就够了,其他又是干什么的。

  这就要讲到频道,频道是栏目的类型,文章(article)频道、图片(image)频道、软件(soft)频道(实质是一个下载频道)、商品(shop)频道等。频道是一种内容模型,比如动漫、风景都能用图片频道。所以就会有index_article.htm,index_ image.htm,index_ soft.htm,index_shop.htm。每个频道都有自己的三种模板。

  那么如何编写模板,当然要先学过标签语法

  A、function 扩展,如{dede:标记名称 function=”函数名(@me,其它参数)” /}

  B、在Innertext中直接编程,也就是之前一直用的方法

  再读一下index_article.htm,list_article.htm,article_article.htm。读源码是最好的学习方法^_^

  总的来说,写网页具体要做的就是为每个频道编写网页模板。

  关于模板的内容就分享到这里了。

  一、登陆Dedecms织梦后台,在“系统”区找到“数据库备份/还原”,将数据库进行“备份”;

  二、将老空间里所有的文件,全部下载至电脑本地;

  三、将文件上传至新空间;

  四、运行http://你的域名/install 进行安装

  前提:把install 文件夹里面的 install_lock.txt 和 index.html 文件删除,index.php.bak 改名为index.php,接着运行http://你的域名/install 进行安装。

  注意:数据库表的前缀必须和原数据库表的前缀必须一致(按默认操作即可);安装初始化数据进行体验(体验数据将含带DedeCMS大部分功能的应用操作示例,这个选项不要勾选)。

  五、安装完后,登陆后台,点击“系统管理”——“数据库备份/还原”——“数据还原”,全选发现的备份文件;

  注意:附加参数中的还原结构信息不要勾选。

  六、点击开始还原数据,等一会儿就会还原好了;

  七、进入系统——系统基本参数,设置下网站相关信息,最后重新生成下网站即可。

  这篇文章针对的是“无产阶级”毫无基础的朋友,如果你是高手或“资产阶级”就不用看了,高手欢迎交流,“资产阶级兄弟”给点活让兄弟我做做,保证质量。

  基础

  学习html

  何 谓CMS模版?其实就是加上CMS模板引擎代码的HTML页面,所以基础便是HTML语言学习,HTML的标签不多,很容易学习,搜索下遍地都是教程,不 过现在正流行web标准,就是大家说的“DIV+CSS”,要求又提高许多,需要学习CSS,大家可以下载CSS手册,修改模版的时候对照学习修改,每天 只要花点时间很快就会学会。真心想学好web制作的朋友可常来我的网站逛逛。

  学习dede模版代码

  了解代码前,如果你是新手,请使用默认模版熟悉下dede系统,系统的设置,如何添加栏目,怎么为栏目设置模版,如何发表文章,更改文章,有个基本概念。

  Dedecms的代码很有特色,只要熟悉以后很快就能上手而且使用非常灵活。dede模板引擎的代码样式有如下几种形式:

  复制代码

  {dede:标记名称 属性=’值’/}

  {dede:标记名称 属性=’值’}{/dede:标记名称}

  {dede:标记名称 属性=’值’}自定义样式模板(InnerText){/dede:标记名称}

  从上面我们可以看出,dede模板引擎的代码可以分为标记名称、属性和自定义样式模版三部分,标记名称和属性用{}包围

  而自定义样式模版在两个{}之间。

  标记名称与属性的说明请大家参考系统帮助里的模版标记参考,这里介绍具体运用方法。

  先看下面的例子:

  复制代码

  {dede:arclist typeid=’0′ titlelen=’28’ row=’10’ }

  

  • [field:title/]
  •   {/dede:arclist} 上面是最基本的取得最新内容列表标记arclist,由开始标记{dede:arclist 属性typeid=” titlelen=’28’ row=’10’ col=’1′}模版样式

  • [field:title/]
  • 和结束标记 {/dede:arclist}组成。当你完成页面制作后,便可开始添加dede代码。没有添加dede代码之前:

      

      添加代码后

      

        {dede:arclist typeid=’0′ titlelen=’28’ row=’10’ }

        

    • [field:title/]
    •   {/dede:arclist}

        

      模版解析后就是添加代码前的样子。列表list标记,友情链接flink标记,导航channel标记,站内新闻mynews标记等待都是同样道理。

      文章页里用到{dede:标记名称 属性=’值’/},如{dede:field name=’title’ /}就是文章标题的意思。

      模 版里面的路径问题:本站使用{dede:global name=’cfg_basehost’/}/templets/w3cpro/img/css.css,{dede:global name=’cfg_basehost’/}是取得网站根目录的意思。这里有个模版保护问题,如果你珍惜你的网页模版,就把img目录独立分离出来,这样 别人就不会知道你的模版目录。

      制作

      要是真正独立制作一个模版,是很费精力的,规划、设计、制作、调试哪部分都很累人。很多站长都 没有能力制作,所以就有那么多的朋友期待别人放出模版,稍微有点能力就复制别人的模版,何为复制?保存原来的html页面,删除正文内容,添加CMS代 码,完工。,这就是复制,没有一点技术含量,只要添加CMS代码即可。就这样,我看还有很多人收费100到200帮人制作,我看得晕死,这也行。做为站长 也太懒了,做站连CMS的标记代码都不了解,还做什么站,真是郁闷了。

      就模版而言,很多站长只看到设计即页面好看而没有看到网页制作即网 页代码,这是一个非常错误的观念。网页好看虽然重要,但对我们个人站长来说,网页制作更为重要。网页代码的质量关系到搜索引擎SEO与网站的可维护性,对 我们站长来说,网站只要简洁大方即可,关键是网站利于搜索引擎搜索能够创造更多的利润赚更多的钱。

      天下文章一大抄,就看你会不会抄,制做模版和抄写文章一样,就看你会不会仿。我的设计水平很烂根本不入流,只会写网页代码。设计既然不会那就仿,取一个网页那是侵权,那就取三个四个网页,拿出它们的设计优点,组合成自己的网站。

      过程以本站为例子:规划好网站结构,决定以蓝绿两种颜色为网页主色调,从网上找到合适的资源后开始在PS里组合网站,满意后开始编写代码制作网页,制作好后添加dede代码测试。

      安装使用

      dede3.1lit版本增强了系统设置,模版的所在位置可以在系统设置里设定,把模版文件夹放到templets,栏目设置里{style}代表了模版文件夹位置,如下图。

      实例

      下面提供本站实例给大家参考使用,页面制作并不复杂,适合大家学习使用。

      总共制作了文章,图片(采用文章系统),下载三个系统模版,其他模版可以根据提供的页面修改。

      index_in.html——主页

      list.html——列表页

      index_arc.html——文章页、下载封面

      index_img.html——图片封面

      list_img.html——图片列表

      search.htm——搜索页面

      article.html——文章页

      article_down.html——下载页

      article_img.html——图片

      修改的文件:

      inc_archives_view.php——上一篇下一篇分开调用,且限定文章所在栏目内而不是现在的全站。

      inc_arcpart_view.php——更改友情链接flink

      inc_channel_unit_functions.php——调用arclist标签无法读出此栏目为副栏目的文章的应急解决方案

      inc_functions.php——跳转提示页标题修改

      inc_vote.php——投票修改

      增加的文件:

      为了全站显示登入系统后的状态,member目录增加几个文件。

      index_doo.php

      index_login.php

      login.html

      config_g.php

      logined.js

      templets/index_login.html

      下载后放到网站templets,参照上面设置即可。

      很多所谓的“黑客”都是用工具来扫描入侵,厉害点的人是不屑来黑我们的小网站的,所以我们一般做好安全防护就可以了。以下是我收集整理的内容:

      第一、安装的时候数据库的表前缀,最好改一下,不用dedecms默认的前缀dede_,可以改成ljs_,随便一个名称即可。

      第二、后台登录开启验证码功能,将默认管理员admin删除,改成一个自己专用的,复杂点的账号。

      第三、装好程序后务必删除install目录

      第四、将dedecms后台管理默认目录名dede改掉。

      第五、用不到的功能一概关闭,比如会员、评论等,如果没有必要通通在后台关闭。

      第六、以下一些是可以删除的目录:

      member会员功能

      special专题功能

      company企业模块

      plus\guestbook留言板

      以下是可以删除的文件:

      管理目录下的这些文件是后台文件管理器,属于多余功能,而且最影响安全

      file_manage_control.php file_manage_main.php file_manage_view.php media_add.php media_edit.php media_main.php

      再有:

      不需要SQL命令运行器的将dede/sys_sql_query.php 文件删除。

      不需要tag功能请将根目录下的tag.php删除。不需要顶客请将根目录下的digg.php与diggindex.php删除。

      第七、多关注dedecms官方发布的安全补丁,及时打上补丁。

      第八、下载发布功能(管理目录下soft__xxx_xxx.php),不用的话可以删掉,这个也比较容易上传小马的.

      第九、DedeCms官网出的万能安全防护代码,官网的要会员才能看.

      为了让大家的CMS更安全,有需要的手工在config_base.php里加上

      打开

      config_base.php

      找到

      复制代码

      //禁止用户提交某些特殊变量

      $ckvs=Array(‘_GET’,’_POST’,’_COOKIE’,’_FILES’);

      foreach($ckvs as $ckv){

      if(is_array($$ckv)){

      foreach($$ckv AS $key=> $value)

      if(eregi(“^(cfg_|globals)”,$key)) unset(${$ckv}[$key]);

      }

      }

      改为下面代码

      复制代码

      //把get、post、cookie里的

      $ckvs=Array(‘_GET’,’_POST’,’_COOKIE’);

      foreach($ckvs as $ckv){

      if(is_array($$ckv)){

      foreach($$ckv AS $key=> $value)

      if(!empty($value)){

      ${$ckv}[$key]=str_replace(‘<'.'?','&'.'lt;'.'?',$value);

      ${$ckv}[$key]=str_replace(‘?’.’>’,’?’.’&’.’gt;’,${$ckv}[$key]);

      }

      if(eregi(“^cfg_|globals”,$key)) unset(${$ckv}[$key]);

      }

      }

      //检测上传的文件中是否有PHP代码,有直接退出处理

      if (is_array($_FILES)) {

      foreach($_FILES AS $name=> $value){

      ${$name}=$value[‘tmp_name’];

      $fp=@fopen(${$name},’r’);

      $fstr=@fread($fp,filesize(${$name}));

      @fclose($fp);

      if($fstr!=” && ereg(“<\?",$fstr)){

      echo “你上传的文件中含有危险内容,程序终止处理!”;

      exit();

      }

      }

      }

      第十、最安全的方式:本地发布html,然后上传到空间。不包含任何动态内容,理论上最安全,不过维护相对来说比较麻烦。

      十一,还是得经常检查自己的网站,被挂黑链是小事,被挂木马或删程序就很惨了,运气不好的话,排名也会跟着掉。所以还得记得时常备份数据.

      web服务器运行的用户与目录所有者用户必须不一样,比如apache运行的用户为www,那么网站目录设置的所有者就应该不能设置为www,而是设置不同于www的用户,如centos。

      我们这里假设web服务器以www用户运行,网站分配的用户为centos,dedecms网站根目录为/home/centos/web。

      不建议用户把栏目目录设置在根目录, 原因是这样进行安全设置会十分的麻烦,

      在默认的情况下,安装完成后,目录设置如下:

      1、首先设置网站目录所有者为centos,用户组为www,目录设置为750,文件为640。

      cd /home/centos

      复制代码

      chown -R centos.www web

      find web -type d -exec chmod 750 {} \;

      find web -not -type d -exec chmod 640 {} \;

      2、data、templets、uploads、a images目录, 设置可读写,不可执行的权限;

      设置可读写权限:

      复制代码

      cd /home/centos/web

      chmod -R 770 data templets uploads a images

      设置不可执行权限:

      apache的设置,在apache配置文件中加入如下代码(以data目录为例,其它设置基本相同)。

      复制代码

      

      php_flag engine of

      

      

      

      Order allow,deny

      Deny from all

      

      

      nginx的设置如下:

      复制代码

      location ~* ^/(data|templets|uploads|a|images)/.*\.(php|php5)$

      {

      deny all;

      }

      3、不需要专题的,建议删除 special 目录, 需要可以在生成HTML后,

      删除 special/index.php 然后把这目录设置为可读写,不可执行的权限,上面介绍了如何设置可读写和不可执行的权限,这里就不重复了。

      其它需注意问题:

      1、虽然对 install 目录已经进行了严格处理, 但为了安全起见,我们依然建议把它删除;

      2、不要对网站直接使用MySQL root用户的权限,给每个网站设置独立的MySQL用户帐号,许可权限为:

      SELECT, INSERT , UPDATE, DELETE,CREATE , DROP , INDEX, ALTER , CREATE TEMPORARY TABLES

      由于DEDE并没有任何地方使用存储过程,因此务必禁用 FILE、EXECUTE 等执行存储过程或文件操作的权限。

      假设我们建立的数据库名为centosmysql,数据库用户为centosmysql,密码为123456,具体设置命令如下:

      复制代码

      mysql -uroot -p

      mysql>GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,INDEX,ALTER,CREATE TEMPORARY TABLES ON centossql.* TO centossql@localhost IDENTIFIED BY 123456;

      mysql>FLUSH PRIVILEGES;

      mysql>exit

      3、更改默认管理目录dede,改到不易被猜到就好。

      4、关注后台更新通知,检查是否打上最新dedeCMS补丁。

      1、从FTP下载含有DEDE5.7广告代码的login.htm文件,login.htm位于/dede/templets/login.htm修改前备份该文件。

      2 、打开login.htm找到最后几行,删除以下DEDE5.7广告代码:

      复制代码

      

      做好数据备份是站长管理员和维护人员的基本常识,织梦是php语言书写的程序,但是它的数据备份比一般的程序都简单,下面介绍织梦网站的数据备份。

      第一步:进行数据备份

      以超级管理员的身份登陆系统后台,在后台找到一个“数据库备份/还原”的工具,在系统–>数据备份/还原–>选中全部表,开始备份。如下图

      织梦dedeCMS网站数据备份步骤图解

      第二步:压缩文件,下载到本地备份

      A:登录独立主机或者VPS,把整个WEB进行压缩,然后下载到本地。

      B:如果您的是网站用的是虚拟主机,可以通过虚拟主机控制面板进行压缩整站,然后下载到本地;如果没有解压缩功能,就只有慢慢的把文件传到本地了!

      首先我们来了解一下AMPZ的文件目录功能:(本地安装DEDEAMPZ环境教程)

      DedeAMPZ根目录的文件DedeAMPZ.exe(管理程序)、Setup.exe(安装程序)、Unstall.exe(卸载程序)

      |–Config 管理软件和安装程序需要调用文件的配置目录

      | |–Apache Apache目录

      | |–Lib Zend optimizer目录

      DedeAMPZ——|–Program — |–MySQL4 MySql4目录(对于服务器版这目录是空的)

      | |–MySQL5 MySql5目录

      | |–PHP4 PHP4目录(对于服务器版这目录是空的)

      | |–PHP5 PHP5目录

      |–WebRoot 站点文件默认存放目录

      |–tmp 临时文件夹

      常见问题:

      1、安装目录是否带有中文目录,一般都是这个原因造成的,把目录改成英文文件夹!

      2、安装完成后系统提示无法启动Apache

      这问题有下面几种可能性:

      (1) 可能你的电脑的防火墙有限制,请检查相关设置;

      (2) 可能你装了IIS或其它Web Server,必须先停止;

      当你做了上面两个操作后,不需要重装,直接在软件目录启动DedeAMPZ管理软件看看能否启动Apache

      3、安装后如何卸载

      由于本程序并没有生成多余的附加文件,卸载的时候手工运行程序根目录的 Unstall.exe ,完成后即可删除这个目录。

      4、关于不能连接数据库的说明

      请打开客户端,看MySQL服务是否有启动,如果无请注意检查防火墙等原因,此外如果你以前安装过MySQL,建议选卸载。

      站长朋友常见的问题,在安装织梦网站的时候,一不留神,默认的管理员变成了admin,可以后期想修改这个账号的时候,发现不给修改,也不能删除,很头痛。

      方法一:

      1、再创建一个超级管理员,必须是超级管理员哦。

      2、然后登陆数据库管理,找到dede_admin,删除admin的账号。

      修改织梦dedeCMS默认管理员admin的方法

      方法二:通过后台执行SQL命令

      直接打开数据库修改吧,最直接了。或者用后台的sql执行(系统 – 系统设置 – SQL命令行工具)

      修改织梦dedeCMS默认管理员admin的方法3

      id的话你要确定好是“1” 一般如果是默认的话都是 1

      修改织梦dedeCMS默认管理员admin的方法1

      可能碰到的难题:

      1、空间商没有数据库远程管理,那么需要我们去网上搜索一个“ phpmyadmin ” 把这个下载下来,上传到根目录,然后再远程登陆http://www.**.com/phpmyadmin,然后输入您的数据库登陆账号,找到dede_admin,删除admin账号。

      2、请把网站做好备份,具体查看<<织梦网站数据备份步骤图解>>

      DedeCMS 基于PHP和MySQL技术开发,可同时使用于Windows、Linux、Unix平台,环境需求如下:

      1、Windows 平台:

      IIS/Apache + PHP4/PHP5 + MySQL3/4/5

      如果在windows环境中使用,建议用DedeCMS提供的DedeAMPZ套件以达到最佳使用性能。

      2、Linux/Unix 平台

      Apache + PHP4/PHP5 + MySQL3/4/5 (PHP必须在非安全模式下运行)

      建议使用平台:Linux + Apache2.2 + PHP5.2 + MySQL5.0

      3、PHP必须环境或启用的系统函数:

      allow_url_fopen

      GD扩展库

      MySQL扩展库

      系统函数 —— phpinfo、dir

      4、基本目录结构

      / 根目录在安装可选模块时需设定可写入文件和创建目录的权限。

      ..http://www.dede58.com/a/zhimengjiaocheng/install 安装程序目录,安装完后可删除[安装时必须有可写入权限]

      ..http://www.dede58.com/a/zhimengjiaocheng/dede 默认后台管理目录(可任意改名)

      ..http://www.dede58.com/a/zhimengjiaocheng/include 类库文件目录

      ..http://www.dede58.com/a/zhimengjiaocheng/plus 附助程序目录

      ..http://www.dede58.com/a/zhimengjiaocheng/member 会员目录

      ..http://www.dede58.com/a/zhimengjiaocheng/images 系统默认模板图片存放目录

      ..http://www.dede58.com/a/zhimengjiaocheng/uploads 默认上传目录[必须可写入]

      ..http://www.dede58.com/a/zhimengjiaocheng/html 默认HTML文件存放目录[必须可写入]

      ..http://www.dede58.com/a/zhimengjiaocheng/templets 系统默认内核模板目录

      ..http://www.dede58.com/a/zhimengjiaocheng/data 系统缓存或其它可写入数据存放目录[必须可写入]

      ..http://www.dede58.com/a/zhimengjiaocheng/special 专题目录[生成一次专题后可以删除special/index.php,必须可写入]

      5、PHP环境容易碰到的不兼容性问题

      (1) data目录没写入权限,导致系统session无法使用,这将导致无法登录管理后台(直接表现为验证码不能正常显示);

      (2) php的上传的临时文件夹没设置好或没写入权限,这会导致文件上传的功能无法使用;

      (3) 出现莫名的错误,如安装时显示空白,这样能是由于系统没装载mysql扩展导致的,对于初级用户,可以下载dede的php套件包,以方便简单的使用。

      织梦好多想本地测试织梦DEDECMS网站,今天介绍如何在本地安装测试环境,安装织梦系统。

      第一:环境测试 DedeAMPZ 织梦官方测试软件

      DedeAMPZ 是直接整合PHP + Apache + MySql 的服务器环境管理软件,操作十分傻瓜化,适合初中级水平的站长使用。

      主要具有如下特点:

      1、支持php4、php5、MySql4、MySql5、Apache2.2、Zend Optimizer-3.3.0;(完整版)

      2、安装使用十分简单,并支持在php4与php5中切换;

      3、经过专业的处理后,使您配置apache+php的站点更简单;

      4、本软件内置DedeCMS在线安装程序,让您安装调试DedeCMS更加简单;

      使用方法:

      1.首先从织梦官方网站下载DedeAMPZ的服务器套件包,通常为一个Zip压缩包;

      2.解压Zip文件到相应目录,得到一个可执行的安装文件,双击安装文件开始安装;

      3.选择安装路径,例如:D:\DedeAMPZ,直接下一步进行安装;

      4.安装完成进入控制面板设置初始数据库管理员密码;

      5.DedeAMPZ自动从官方网站下载最新版本的DedeCMS自动执行安装;

      常见问题:

      1、在点击“点击安装”按钮在最后一步时可能会提示指定控件不存在的错误,那是因为有些盗版的操作系统禁用了一些组件,不过这不会影响软件的正常使用,仅是无法创建桌面图标而已,可以手工点击“DedeAMPZ.exe”运行客户端;

      2、在安装DedeCMS的时候,数据库名称随意填写,不过要选择“自动创建”的选项。

      下载地址:http://www.dedecms.com/html/chanpinxiazai/20080905/39481.html

      第二:phpwind Wamp PW本地测试软件

      一贯的,为了让站长轻松使用最新的论坛程序,phpwind 8.5发布之际,推出了phpwind Wamp 4.9 论坛集成安装包。

      phpind Wamp 4.9是一个快速架设web环境的软件集成包(包含最新版的phpwind 论坛系统)。您无须任何复杂操作,只要下载phpwind Wamp 4.9软件包,点击安装,就能轻松实现站长的梦想。

      一、 phpwind Wamp 4.9优点

      简单: 真正做到任何人都可以轻松架设论坛及运行环境.只需下载phpwind Wamp 4.9软件包,1分钟点击安装完成。

      高效: phpwind Wamp 4.9 能够根据用户计算机自动配置和方便优化相关环境。

      安全: 1.安装phpwind Wamp 4.9不改动您本地计算机的任何设置和文件,保证您的计算机安全正常。

      2.phpwind Wamp 4.9采用最新的论坛程序,我们对此进行了优化和配置,论坛本身具有一定的安全性。

      3. phpwind Wamp 4.9 集成独立的卸载程序,在保留数据的前提下,不留下任何冗余文件。

      二、安装环境需求及软件包简介

      1.运行环境 操作系统:Microsoft Windows2000/XP/2003

      2.软件包简介

      集成 phpwind v 8.5 社区程序[简体中文]

      更新 phpMyAdmin 到 3.1.1

      更新 ZendOptimizer 到 3.3.3

      更新 MySQL 到 5.1.30

      更新 php 到 5.2.8

      更新 Apache 到2.2.11

      三、 安装使用

      1. 下载phpwind Wamp 4.9软件包

      2. 解压缩phpwind Wamp 4.9软件包至任意位置

      3. 执行.exe文件,根据提示进行安装

      4. 相关帐户说明(安装完后)

      论坛创始人 用户名 : admin 密码 :admin

      MySQL 数据库 用户名: root 密码: phpwind.net (建议您安装完后修改论坛及MySQL密码)

      我们在使用织梦过程中会发现,图集的内容编辑器的功能要比文章的编辑器少很多,发布内容的时候很不好用,所以我们可以把图集的编辑器改成文章的编辑器来使用,就好很多了。

      图集编辑器:

      织梦图集编辑器

      文章编辑器:

      织梦图集编辑器1

      修改方法如下:

      将/dede/templets/album_edit.htm 中的

      复制代码

      

      换成

      复制代码

      

      将/dede/templets/album_add.htm 中的

      复制代码

      

      换成

      复制代码

      

    ©下载资源版权归作者所有;本站所有资源均来源于网络,仅供学习使用,请支持正版!
    织梦模板网 » dedecms织梦advancedsearch页面显示自定义字段的方法
    ☉免责声明:本站所有模板均来自用户分享和网络收集,仅供学习与参考,请勿用于商业用途,如果损害了您的权利,请联系网站客服,我们核实后会立即删除。
    ☉如果源码网盘地址失效!或有其他问题,请点我报错,谢谢合作!
    ☉人民币与积分汇率为1比10,即1元=10积分.有任何疑问请联系客服
    ☉如有其他问题,请加网站客服QQ(330921598)进行交流。
    ☉本站提供的源码、模板、软件工具等其他资源,都不包含技术服务,请大家谅解!
    ☉源码、模板等资源会随着技术、环境的升级而存在部分问题,还请慎重选择。

    发表评论

    加入织梦模板网永久VIP 海量资源免费下载

    立即查看 了解详情