GVKun编程网logo

织梦CMS软件模型增加图集功能教程(织梦图集的使用教程)

5

本篇文章给大家谈谈织梦CMS软件模型增加图集功能教程,以及织梦图集的使用教程的知识点,同时本文还将给你拓展dedecms织梦增加会员下载授权额度功能教程、dedecms模板中增加图集内容图片下载功能、

本篇文章给大家谈谈织梦CMS软件模型增加图集功能教程,以及织梦图集的使用教程的知识点,同时本文还将给你拓展dedecms 织梦增加会员下载授权额度功能教程、dedecms模板中增加图集内容图片下载功能、dedecms织梦自定义模型增加图集功能(含懒人包)、dedecms软件模型三表关联SQL语句实例等相关知识,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

织梦CMS软件模型增加图集功能教程(织梦图集的使用教程)

织梦CMS软件模型增加图集功能教程(织梦图集的使用教程)

 

软件模型添加图集功能展示

织梦CMS软件模型增加图集功能教程

当我们需要在前端输出图片+对应的图片注释描述时,需要用到图集功能;当我们自定义模型或者商品模型、软件模型需要也要用到图片+注释描述时,也需要用到图集功能。

使用之前

备份你后台目录以下4个文件

\dede\soft_add.php

\dede\soft_edit.php

\dede\templets\soft_add.htm

\dede\templets\soft_edit.htm

如果你的后台目录如下4个文件没有修改过,你可以直接download打包文件,选择对应编码文件,上传覆盖进你的后台目录下即可。

如果有修改过这4个文件的,可以用【Beyond Compare】软件对比来修改

文件覆盖好后,还需要按照下面教程中的执行操作方能生效。

文件打包download

链接:    密码:5dqa

选择对应的编码,download,解压,把dede文件夹里面的所有文件,放到你的后台目录里。

软件模型添加图集教程

1、打开 \include\user日志in.class.php 找到

$_SESSION['file_info'] = array();

在它的下面加入

$_SESSION['bigfile_info2'] = array();

$_SESSION['file_info2'] = array();

2、查看好你的模型对应的附加表是哪个

织梦CMS软件模型增加图集功能教程

3、添加图集所需要的字段到附加表上

3-1、进入你的某个模型 - 字段管理,在【字段配置】*顶端添加如下代码

<field:pagestyle itemname="页面风格" type="number" isnull="true" default="2" rename="" notsend="1" />

<field:imgurls itemname="图片集合" type="img" isnull="true" default="" rename="" page="split"/>

如图

织梦CMS软件模型增加图集功能教程

3-2、后台-系统-SQL命令行工具,执行如下语句,注意你的附加表名,千万别搞错了

ALTER TABLE `dede_addonsoft`

ADD `pagestyle` smallint(6) NOT NULL default '1',

ADD `maxwidth` smallint(6) NOT NULL default '600',

ADD `imgurls` text,

ADD `row` smallint(6) NOT NULL default '0',

ADD `col` smallint(6) NOT NULL default '0',

ADD `isrm` smallint(6) NOT NULL default '0',

ADD `ddmaxwidth` smallint(6) NOT NULL default '200',

ADD `pagepicnum` smallint(6) NOT NULL default '12';

如图

织梦CMS软件模型增加图集功能教程

前台源码标签不变,请参考官方的图集源码标签调用。

至此,新闻模型添加图集功能完成。

本文章网址:http://www.ppssdd.com/code/12346.html。转载请保留出处,谢谢合作!

dedecms 织梦增加会员下载授权额度功能教程

dedecms 织梦增加会员下载授权额度功能教程

客户有个 dede 制作的行业网站,提供相关资料下载,作为主要盈利手段的金币充值业务需要接入微信、支付宝等支付方式。但是如果每笔都单独进行支付的话手续费会比较高,因此采用充值某种会员来进行的话会更划算。
dede 本身提供了会员产品,可以通过购买会员产品来达到不同的用户级别。那么我们只需要给相应的用户等级设置对应的下载配额就可以控制这一等级的免费额度了。

业务逻辑上客户要求,用户购买的等级可以每月得到规定的授信次数,用完后继续和正常情况一样充值金币下载。到下个月又重新授信。


1、设置表结构

1.1、用户等级表增加 每月下载授信次数 字段:

1 ALTER TABLE `dede_arcrank` ADD `download_credit` INT(11) UNSIGNED NOT NULL DEFAULT ''0'' COMMENT ''每月下载授信次数'' AFTER `scores`;

1.2、 用户表增加当前月授信次数、更新月份、已用次数等字段

1 ALTER TABLE `dede_member`
2 ADD `download_month` INT UNSIGNED NOT NULL DEFAULT ''0'' COMMENT ''下载授信月份'' AFTER `checkmail`,
3 ADD `download_counter` INT UNSIGNED NOT NULL DEFAULT ''0'' COMMENT ''下载授信使用次数'' AFTER `download_month`,
4 ADD `download_credit` INT UNSIGNED NOT NULL DEFAULT ''0'' COMMENT ''下载授信次数''AFTER `download_counter`;

2、后台管理界面

后台主要在用户等级管理界面进行调整,增删改查的时候增加响应的界面和处理代码即可,这里贴出修改的上下文,可以自行对应修改

2.1、dede/member_rank.php

01 //保存更改
02  if($dopost==''save'')
03  {
04 @@ -25,11 +32,12 @@ if($dopost==''save'')
05          $rank = ${"rank_".$startID};
06          $money = ${"money_".$startID};
07          $scores = ${"scores_".$startID};
08 +        $download_credit = ${"download_credit_".$startID};
09          if(isset(${"check_".$startID}))
10          {
11              if($rank>0)
12              {
13 -                $query = "UPDATE `qm_arcrank` SET membername=''$name'',money=''$money'',rank=''$rank'',scores=''$scores'' WHERE id=''$id'' ";
14 +                $query = "UPDATE `qm_arcrank` SET membername=''$name'',money=''$money'',rank=''$rank'',scores=''$scores'',download_credit=''$download_credit'' WHERE id=''$id'' ";
15              }
16          }
17          else
18 @@ -42,7 +50,7 @@ if($dopost==''save'')
19      {
20          if($rank_new > 0 && $name_new != '''' && $rank_new > 10)
21          {
22 -            $inquery = "INSERT INTO `qm_arcrank`(`rank`,`membername`,`adminrank`,`money`,`scores`,`purviews`) VALUES(''$rank_new'',''$name_new'',''5'',''$money_new'',''$scores'',''''); ";
23 +            $inquery = "INSERT INTO `qm_arcrank`(`rank`,`membername`,`adminrank`,`money`,`scores`,`download_credit`,`purviews`) VALUES(''$rank_new'',''$name_new'',''5'',''$money_new'',''$scores'', ''$download_credit'',''''); ";
24              $dsql->ExecuteNoneQuery($inquery);
25          }
26      }

2.2、dede/templets/member_rank.htm

01 @@ -20,6 +20,7 @@
02        <td width="18%">会员等级值</td>
03        <td width="15%">默认金币</td>
04        <td width="15%">默认积分</td>
05 +      <td width="15%">月免费下载次数</td>
06        <td width="16%">类型</td>
07        <td width="16%">状态</td>
08      </tr>
09 @@ -29,12 +30,13 @@
10         {
11           $k++;
12         ?>
13 -
14      <tr align="center" bgcolor="#FFFFFF" height="24">
15        <td><input type="hidden" name="ID_<?php echo $k?>" value="<?php echo $row->id; ?>"><input name="name_<?php echo $k?>" value="<?php echo $row->membername; ?>" type="text" id="name_<?php echo $k?>" c
16 lass=''autoinput alltxt'' /></td>
17        <td><input name="rank_<?php echo $k?>" value="<?php echo $row->rank; ?>"  type="text" id="rank_<?php echo $k?>" class=''autoinput alltxt'' /></td>
18        <td><input name="money_<?php echo $k?>"  value="<?php echo $row->money; ?>"  type="text" id="money_<?php echo $k?>" class=''autoinput alltxt'' /></td>
19        <td><input name="scores_<?php echo $k?>"  value="<?php echo $row->scores; ?>"  type="text" id="scores_<?php echo $k?>" class=''autoinput alltxt'' /></td>
20 +      <td><input name="download_credit_<?php echo $k?>"  value="<?php echo $row->download_credit; ?>"  type="text" id="download_credit_<?php echo $k?>" class=''autoinput alltxt'' /></td>
21        <td align="center">
22        <?php
23           if($row->id<=5) { echo "系统"; }
24 @@ -55,6 +57,7 @@
25        <td> 级别值(待审为0,注册会员为10) </td>
26        <td> 默认金币 </td>
27        <td> 默认积分 </td>
28 +      <td>默认月免费下载次数</td>
29        <td> 操作设置 </td>
30        <td>&nbsp;</td>
31      </tr>
32 @@ -63,6 +66,7 @@
33        <td><input name="rank_new" type="text" id="rank_new" value=''20'' class=''autoinput alltxt''  /></td>
34        <td><input name="money_new" type="text" id="money_new" value=''0'' class=''autoinput alltxt'' /></td>
35        <td><input name="scores_new" type="text" id="scores_new" value=''100'' class=''autoinput alltxt''  /></td>
36 +      <td><input name="download_credit_new" type="text" id="download_credit_new" value=''0'' class=''autoinput alltxt''  /></td>
37        <td><input name="check_new" type="checkbox" id="check_new" class="np" value="1" checked />
38          增加等级 </td>
39        <td>&nbsp;</td>

3、前端功能调整

首先用户在自己的控制面板需要能够查看自己的剩余额度,然后在下载的时候优先使用授信额度,使用完毕后如果继续下载则继续充值金币。

3.1、include/memberlogin.class.php

每次实例化当前登录用户信息的时候,都检查以下是否需要更新授信额度,然后在展示用户等级的时候显示已用额度和总额度。

01 //间隔一小时更新一次用户登录时间
02                  if(time() - $this->M_LoginTime > 3600)
03                  {
04                      $dsql->ExecuteNoneQuery("update `qm_member` set logintime=''".time()."'',loginip=''".GetIP()."'' where mid=''".$this->fields[''mid'']."'';");
05                      PutCookie("DedeLoginTime",time(),$this->M_KeepTime);
06                  }
07 +                $this->updateDownloadCredit();
08  
09              if(!is_array($rs)){
10                  if($this->M_Rank>10 && $this->M_HasDay>0) $sta .= " 剩余天数: <font color=''red''>".$this->M_HasDay."</font>  天 ";
11                  elseif($this->M_Rank>10) $sta .= " <font color=''red''>会员升级已经到期</font> ";
12 +                $sta .= sprintf(''月免费下载次数 %d/%d'', $this->M_DownloadCounter, $this->M_DownloadCredit);
13 +
14            }
15          }
16          $sta .= " 拥有金币:{$this->M_Money} 个, 积分:{$this->M_Scores} 分。";
17          return $sta;
18      }
19 -
20 +    function updateDownloadCredit(){
21 +        global $dsql;
22 +        $dc_month = date(''Ym'');
23 +        $rank = $dsql->GetOne("Select membername,download_credit From `qm_arcrank` where rank=''".$this->M_Rank."''");
24 +        $this->M_DownloadCredit = $rank[''download_credit''];
25 +        $this->M_DownloadMonth = $this->fields[''download_month''];
26 +        if($this->M_DownloadMonth < $dc_month){
27 +            $dsql->ExecuteNoneQuery("UPDATE `qm_member`
28 +                SET download_month=$dc_month,
29 +                download_credit = {$rank[''download_credit'']}
30 +                download_counter = 0
31 +                WHERE mid=''".$this->M_ID."''");
32 +        }
33 +        $this->M_DownloadCounter = $this->fields[''download_counter''];
34 +        $this->M_DownloadMonth = $dc_month;
35 +    }
36  
37 ### 3.2、`plus/download.php`
38 下载时在扣除金币的时候和之前一样,如果已经购买不再重复购买和使用授信额度。当需要购买时,优先使用剩余的授信额度,如果授信额度用完才继续进入购买金币流程。
39  
40 ```diff
41 @@ -196,25 +196,40 @@ else if($open==2)
42              //未购买过此文章
43              if( !is_array($row) )
44              {
45 -                //没有足够的金币
46 -                if( $needMoney > $cfg_ml->M_Money || $cfg_ml->M_Money=='''')
47 -                {
48 -                    $msgtitle = "你没有权限下载软件:{$arctitle}!";
49 -                    $moremsg = "这个软件需要 <font color=''red''>".$needMoney." 金币</font> 才能下载,你目前拥有金币:<font color=''red''>".$cfg_ml->M_Money." 个</font> !";
50 -                    include_once(DEDETEMPLATE.''/plus/view_msg.htm'');
51 -                    exit(0);
52 +                // 会员等级有相应的下载授信额度,则直接扣减额度,扣减完毕后才需要购买
53 +                if($cfg_ml->M_Rank && $cfg_ml->M_DownloadCredit && $cfg_ml->M_DownloadCounter < $cfg_ml->M_DownloadCredit){
54 +                     $inquery = "INSERT INTO `qm_member_operation`(mid,oldinfo,money,mtime,buyid,product,pname,sta)
55 +                      VALUES (''".$cfg_ml->M_ID."'',''$arctitle'',''$needMoney'',''".time()."''''ARCHIVE".$id."''''archive'',''下载软件(授信)'', 2); ";
56 +                    //记录定单
57 +                    if( !$dsql->ExecuteNoneQuery($inquery) )
58 +                    {
59 +                        ShowMsg(''记录定单失败, 请返回''''-1'');
60 +                        exit(0);
61 +                    }
62 +                    //记录已用授信次数
63 +                    $dsql->ExecuteNoneQuery("UPDATE `qm_member` SET download_counter = download_counter + 1 WHERE mid=''".$cfg_ml->M_ID."''");
64                  }
65 -                //有足够金币,记录用户信息
66 -                $inquery = "INSERT INTO `qm_member_operation`(mid,oldinfo,money,mtime,buyid,product,pname,sta)
67 -                  VALUES (''".$cfg_ml->M_ID."'',''$arctitle'',''$needMoney'',''".time()."''''ARCHIVE".$id."''''archive'',''下载软件'', 2); ";
68 -                //记录定单
69 -                if( !$dsql->ExecuteNoneQuery($inquery) )
70 -                {
71 -                    ShowMsg(''记录定单失败, 请返回''''-1'');
72 -                    exit(0);
73 +                else{
74 +                    //没有足够的金币
75 +                    if( $needMoney > $cfg_ml->M_Money || $cfg_ml->M_Money=='''')
76 +                    {
77 +                        $msgtitle = "你没有权限下载软件:{$arctitle}!";
78 +                        $moremsg = "这个软件需要 <font color=''red''>".$needMoney." 金币</font> 才能下载,你目前拥有金币:<font color=''red''>".$cfg_ml->M_Money." 个</font> !";
79 +                        include_once(DEDETEMPLATE.''/plus/view_msg.htm'');
80 +                        exit(0);
81 +                    }
82 +                    //有足够金币,记录用户信息
83 +                    $inquery = "INSERT INTO `qm_member_operation`(mid,oldinfo,money,mtime,buyid,product,pname,sta)
84 +                      VALUES (''".$cfg_ml->M_ID."'',''$arctitle'',''$needMoney'',''".time()."''''ARCHIVE".$id."''''archive'',''下载软件'', 2); ";
85 +                    //记录定单
86 +                    if( !$dsql->ExecuteNoneQuery($inquery) )
87 +                    {
88 +                        ShowMsg(''记录定单失败, 请返回''''-1'');
89 +                        exit(0);
90 +                    }
91 +                    //扣除金币
92 +                    $dsql->ExecuteNoneQuery("UPDATE `qm_member` SET money = money - $needMoney WHERE mid=''".$cfg_ml->M_ID."''");
93                  }
94 -                //扣除金币
95 -                $dsql->ExecuteNoneQuery("UPDATE `qm_member` SET money = money - $needMoney WHERE mid=''".$cfg_ml->M_ID."''");
96              }
97          }
98      }

4、测试

  • 管理后台 -> 会员产品分类 -> 设置产品定价
  • 管理后台 -> 会员级别设置 -> 设置对应级别授信额度
  • 用户首页(http://mysite.com/member)-> 消费中心(http://mysite.com/member/buy.php)- 会员升级 完成后可以回到首页查看个人的授信额度使用和剩余情况
  • 下载付费资料看是否不在需要付费,并且出现授信额度使用记录

5、总结

从修改开始修改代码到最后完成真心没超过半小时,但是在这之前我就觉得这个授信额度的每月重置功能如何设计很是闹心。增加定时任务?会员升级后马上处理?总之会引入各种问题,在思前想后想了很久才有这个办法:月份不对马上更新,授信额度不对马上更新,记录使用次数,比对时比对授信额度和已用次数即可,简单实用。

dedecms模板中增加图集内容图片下载功能

dedecms模板中增加图集内容图片下载功能

织梦dedecms模板中增加图集内容图片下载功能。
打开 /templets/default/images/photo/heiphoto.js 查找 if(sina.isIE) 在 if(sina.isIE){             this.ImgObj1.src = ‘http://i0.sinaimg.cn/dy/deco/2008/0331/yocc080331img/news_mj_005.gif’;               this.ImgObj1.filters[0].Apply();                          this.ImgObj1.src = this.filmstrips[num].src;             this.ImgObj1.filters[0].Play();         }else{             this.ImgObj1.src = this.filmstrips[num].src;             for(i = 0;i <= 3;i ++){                 this._timeOut[i] = setTimeout("epidiascope.ImgObj1.style.opacity = " + i * 0.3,i * 100);             };             this._timeOut[i] = setTimeout("epidiascope.ImgObj1.style.opacity = 1;",4 * 100);         }; 下面增加一行 document.all.imgsrcs.href=(this.ImgObj1.src); //by yvsm 然后在图片内容页找个合适的放方增加一行 <a href="#" title="" target="_blank"id="imgsrcs">[右键另存为下载]</a> 。

dedecms织梦自定义模型增加图集功能(含懒人包)

dedecms织梦自定义模型增加图集功能(含懒人包)


当我们需要在前端输出图片+对应的图片注释描述时,需要用到图集功能;当我们自定义模型或者商品模型、软件模型需要也要用到图片+注释描述时,也需要用到图集功能。
备份你后台目录以下4个文件
 
dedearchives_add.PHP
dedearchives_edit.PHP
dedetempletsarchives_add.htm
dedetempletsarchives_edit.htm

懒人包地址:点我下载
 
如果你的后台目录如下4个文件没有修改过,你可以直接下载打包文件,选择对应编码文件,上传覆盖进你的后台目录下即可。
如果有修改过这4个文件的,可以用【Beyond Compare】软件对比来修改
文件覆盖好后,还需要按照下面教程中的执行操作方能生效。
1、打开 includeuserlogin.class.PHP 找到
 
  $_SESSION['file_info'] = array();
 
在它的下面加入
 
  $_SESSION['bigfile_info2'] = array();
  $_SESSION['file_info2'] = array();
 
2、查看好你的模型对应的附加表是哪个

 
3、添加图集所需要的字段到附加表上
 
3-1、进入你的某个模型 - 字段管理,在【字段配置】最顶端添加如下代码
如图

 
3-2、后台-系统-sql命令行工具,执行如下语句,注意你的附加表名,千万别搞错了
 
  ALTER TABLE `dede_addoncase`
  ADD `pagestyle` smallint(6) NOT NULL default '1',
  ADD `maxwidth` smallint(6) NOT NULL default '600',
  ADD `imgurls` text,
  ADD `row` smallint(6) NOT NULL default '0',
  ADD `col` smallint(6) NOT NULL default '0',
  ADD `isrm` smallint(6) NOT NULL default '0',
  ADD `ddmaxwidth` smallint(6) NOT NULL default '200',
  ADD `pagepicnum` smallint(6) NOT NULL default '12';
 
如图


dedecms软件模型三表关联SQL语句实例

dedecms软件模型三表关联SQL语句实例

  调用的表有三个:archives addonsoft arctype,三个表的调用关系是这样的。

  软件文档调用已审核的;

  软件栏目ID为90~97中任意栏目均可;

  附加表里面我新建了一checkBox类型的att字段。并且调用的条件为包含‘家庭装机’;

  关联关系是:archives的typeid与arctype的id与addonsoft的typeid同时相等;

{dede:sql sql=select addon.aid,addon.att,addon.typeid,t.id,arc.* from dede_archives arc,dede_arctype t,dede_addonsoft addon where arc.typeid = t.id and t.id = addon.typeid and arc.arcrank <> -1 and FIND_IN_SET(''家庭装机'',addon.att) > 0 and t.id in(90,91,92,93,94,95,96,97) order by arc.pubdate limit 0,3}

  

总结

以上是小编为你收集整理的dedecms软件模型三表关联SQL语句实例全部内容。

如果觉得小编网站内容还不错,欢迎将小编网站推荐给好友。

今天关于织梦CMS软件模型增加图集功能教程织梦图集的使用教程的介绍到此结束,谢谢您的阅读,有关dedecms 织梦增加会员下载授权额度功能教程、dedecms模板中增加图集内容图片下载功能、dedecms织梦自定义模型增加图集功能(含懒人包)、dedecms软件模型三表关联SQL语句实例等更多相关知识的信息可以在本站进行查询。

本文标签: