• 网站认证
  • 教程:6,665|
  • 话题:6,319|
  • 评论:51|
  • 会员:219|
  • 注册
  • 查看作者
  • 给Dedecms前台/后台添加来源网址功能

     不久以前,小编在织梦论坛发表了《DEDE发布文章添加了来源网址功能》一帖,在发表本帖的同时,小编也确实感觉到了其实这是一个鸡肋功能,因为中文站长的一大特点就是喜欢转载而不附带他人的链接,果然,此帖的响应者寥寥无几。

      就在前天,又有一个网友看到了此帖,并通过QQ的形式找到了小编,希望能将这篇教程发布出来,他非常希望可以实现这个功能,那么现在小编就来满足这位朋友的需求,好了我们来看一下如何实现本功能。

      原理分析:

      添加来源网址功能,说白了就是在后台和前台发表文章的表单内增加一个选项,首先我们要做的是在数据库增加一个字段,然后在dedecms后台与前台文件分别添加相关代码。下面,我们就以后台(前台添加的方法,请照葫芦画瓢,不再赘述)添加来源网址的功能为例,讲述一下如何实现本功能。

      实现步骤:

      1.操作数据库

      在数据库添加一个字段,这个字段需要添加到dedecms的dede_archives 表中,你可以通过phpmyadmin工具的可视化工具来操作,也可以在后台-系统-SQL命令行工具来执行SQL语句,语句如下:

      ALTER TABLE `dede_archives` ADD `source_url` char(255) NOT NULL DEFAULT '0';

      在上面的语句中,我们可以了解到红色的为表名,蓝色的为字段(这是织梦niuqi给来源网址定义的字段名,如果你想用其它字段名称,请在下面的教程中同步修改),绿色的255表示字段最大的长度是255个字符。注意:如果你在安装dedecms时修改了表前缀,请修改红色部分的表名称。

      相关文章:MySql在已知数据表添加新字段的语句

      完成这一步后,进入第2步。

      2.修改后台文件

      我们需要修改的文件共有四个(这里是以文章模型为例,如果你想在其它模型中增加来源网址,请修改相应的模板与文件),分别是后台目录(默认是dede,如果你修改了后台地址,请找到相应路径)下的:article_add.php、article_edit.php与后台templets下的article_add.htm、article_edit.htm

      首先打开article_add.php文件,查找://对保存的内容进行处理

      在 if(empty($writer))$writer=$cuserLogin->getUserName(); 的下面添加代码:

      if(empty($source_url))$source_url=''; //如果为空则是

      这一步的目的在上面的注释中已经说明了,不再重复。相关修改见图一:

    给Dedecms前台/后台添加来源网址功能【图一】

    图一

      继续操作,查找代码:

      $source = cn_substrR($source,30);

      在下面添加:

      $source_url = cn_substrR($source_url,255);

      再查找://保存到主表

      找到source,按格式插入:source_url

      找到$source,按格式插入:$source_url

      以上操作目的是写入数据库。修改情况见图二:

    给Dedecms前台/后台添加来源网址功能【图二】 

    图二

      恭喜你,完成了四个文件之一的修改。下面我们来进行article_edit.php的修改。

      首先,查找://对保存的内容进行处理 在下面添加

      if(empty($source_url))$source_url='';//如果为空则是

      可以参照图一来操作。

      继续查找:

      $source = cn_substrR($source,30);

      在下面添加:

      $source_url = cn_substrR($source_url,255);

      再查找(约193行):

      source='$source',

      在下面添加:

      source_url='$source_url',

  • 0
  • 0
  • 0
  • 25
  • 请登录之后再进行评论

    登录
  • 做任务
  • 实时动态
  • 偏好设置
  • 单栏布局 侧栏位置: