织梦(dede)添加栏目图片功能

数据库操作:

  1. alter table 表名 add typeimg char(100) NOT NULL default ;

需要修改的文件如下:

  1. dede/catalog_add.php                      控制器文件
  2. dede/catalog_edit.php                      控制器文件
  3. dede/templets/catalog_add.htm       模板文件
  4. dede/templets/catalog_edit.htm       模板文件

打开dede/catalog_add.php      

查找

$queryTemplate=”insertinto#@_arctype

(reid,topid,sortrank,typename,typedir,

替换为

(reid,topid,sortrank,typename,typedir,typeimg,

(‘~reid~’,’~topid~’,’~rank~’,’~typename~’,’~typedir~’,

替换为

(‘~reid~’,’~topid~’,’~rank~’,’~typename~’,’~typedir~’,’~typeimg~’,

 

打开dede/catalog_edit.php控制器

查找

$upquery=”Updatecn_arctypeset

在其下面新加一行

typeimg=’$typeimg’,

 

打开dede/templets/catalog_add.htm模板

查找

  1. <tr>
  2.   <td height=“26”>列表命名规则:</td>
  3.   <td>
  4.     <input name=“namerule2” type=“text” id=“namerule2” value=“{typedir}/list_{tid}_{page}.html” class=“pubinputs” style=“width:250px” />
  5.     <img src=“img/help.gif” alt=“帮助” width=“16” height=“16” border=“0” style=“cursor:pointer” onClick=“ShowHide(‘helpvar3’)” /></td>
  6. </tr>

追加

  1. <tr>
  2.   <td height=“65” style=“padding-left:10px;”>栏目图片:</td>
  3.   <td>
  4.     <input name=“typeimg” type=“text” style=“width:250px” id=“typeimg” class=“alltxt” value=“” />
  5.     <input type=“button” name=“set9” value=“浏览… “ class=“coolbg np” style=“width:60px” onClick=“SelectImage(‘form1.typeimg’,”);” /></td>
  6. </tr>

并在文件的head增加以下内容

  1. <script language=’javascript’ src=“js/main.js”></script>

打开dede/templets/catalog_edit.htm模板

同上,查找’列表命名规则’;追加如下:

  1. <tr>
  2.   <td height=“65” style=“padding-left:10px;”>栏目图片:</td>
  3.   <td>
  4.     <input name=“typeimg” type=“text” style=“width:250px” id=“typeimg” class=“alltxt” value=“<?php echo $myrow[‘typeimg’]?>” />
  5.     <input type=“button” name=“set9” value=“浏览… “ class=“coolbg np” style=“width:60px” onClick=“SelectImage(‘form1.typeimg’,”);” /></td>
  6. </tr>

并在文件的head增加以下内容:

  1. <script language=’javascript’ src=“js/main.js”></script>

调用栏目图片:

  1. {dede:type}
  2. <img src=“[field:typeimg/]”>
  3. {/dede:type}

修改后台文件:include/taglib/type.lib.php

 

UEditor编辑器的使用

1、引入

  1. ueditor.config.js
  2. ueditor.all.min.js
  3. lang/zh-cn/zh-cn.js

2、编辑器显示处  id=”content”

3、底部

  1. <script type=“text/javascript”>
  2.     //实例化编辑器
  3.     //建议使用工厂方法getEditor创建和引用编辑器实例,如果在某个闭包下引用该编辑器,直接调用UE.getEditor(‘editor’)就能拿到相关的实例
  4.     UE.getEditor(‘content’,{initialFrameWidth:1500,initialFrameHeight:400,});
  5. </script>

织梦pc端+手机端 搜索功能实现

  1. <!–搜索form表单:方法一–>
  2.     <div class=“contentBox mb0”>
  3.       <h5 class=“h5Ttl01”><a href=“#”><img src=“/templets/default/img/index/h5_img04.png” height=“57” width=“1200” alt=“合作客户 cooperative client” /></a></h5>
  4.       <div class=“inputBox clearfix”>
  5.       <form action=“{dede:global.cfg_cmsurl/}/plus/search.php”>
  6.         <input type=“text” name=“q” value=“输入公司名称” onfocus=“if(value==’输入公司名称’) {value=”}” onblur=“if (value==”) {value=’输入公司名称’}”/>
  7.         <input onclick=“document.forms[0].submit();” type=“button” name=“search” value=“” />
  8.     </form>
  9.       </div>
  10. <!–搜索form表单:方法二–>
  11. <form  name=“formsearch” action=“{dede:global.cfg_cmsurl/}/plus/search.php” autocomplete=“off”>
  12.         <div class=“form”>
  13.           <h4>搜索</h4>
  14.            <input type=“hidden” name=“kwtype” value=“0” />
  15.            <input name=“q” type=“text” class=“search-keyword” id=“search-keyword” placeholder=“在这里搜索…” value=“在这里搜索…” onfocus=“if(this.value==’在这里搜索…’){this.value=”;}”  onblur=“if(this.value==”){this.value=’在这里搜索…’;}” />
  16. <input type=“text”  autocomplete=“off” name=“q” id=“searchkey” placeholder=“在这里搜索…”  maxlength=“60” onfocus=”if (value ==’在这里搜索…’){value =”}”onblur=”if (value ==”){value=‘在这里搜索…’}”>
  17.            <select name=“searchtype” class=“search-option” id=“search-option”>
  18.                <option value=“title” selected=‘1’>检索标题</option>
  19.                <option value=“titlekeyword”>智能模糊</option>
  20.            </select>
  21.           <button type=“submit” class=“search-submit”>搜索</button>
  22.         </div>
  23.         </form>
  24. <!–打印搜索结果页–>
  25.       <div class=“imgBox clearfix”>
  26.          {dede:list pagesize =’12’ channelid=“1” addfields=“link” }
  27.           <h2><a href=“[field:arcurl/]”><span>[field:title/]</span></h2>
  28.           [field:description/]
  29.           <span>[field:pubdate function=“MyDate(‘Y-m-d’,@me)”/]</span>
  30.           <br/>
  31.           <hr style=“height:1px;border:none;border-top:1px dashed #424242;” />
  32.           <br/>
  33.           {/dede:list}
  34.         </div>

手机端:
首先打开php文件plus/search.php
重命名一个plus/search_m.php代码一样

然后打开php文件include/arc.searchview.class.php
重命名include/arc.searchview.classm.php代码一样。

后面就是修改一下php文件了,打开search_m.php文件,里面第13行
require_once(DEDEINC.”/arc.searchview.class.php”);
修改为
require_once(DEDEINC.”/arc.searchview.classm.php”);

然后打开include/arc.searchview.classm.php文件,找到第131行
$tempfile = $GLOBALS[‘cfg_basedir’].$GLOBALS[‘cfg_templets_dir’].”/”.$GLOBALS[‘cfg_df_style’].”/search.htm”;
修改为
$tempfile = $GLOBALS[‘cfg_basedir’].$GLOBALS[‘cfg_templets_dir’].”/”.$GLOBALS[‘cfg_df_style’].”/search_m.htm”;

织梦dedecms标签调用集合,史上最全,仿站必备2

  1. <!———————if标签 condition属性自动判断vo变量是数组还是对象,不需要加{}———————>
  2.  <if condition=“$vo.zhaotype eq 1 “>竞标中
  3.   <else />竞标结束
  4.  </if>
  5. <!———————select、volist、eq———————>
  6. <select name=“”>
  7.     <option value=“1” <eq name=‘vo.status’  value=‘1’>selected</eq>>竞标中</option>
  8.     <option value=“2” <eq name=‘vo.status’  value=‘2’>selected</eq>>中标</option>
  9.     <option value=“3” <eq name=‘vo.status’  value=‘3’>selected</eq>>淘汰</option>
  10. </select>
  11. <eq name=“vo.sta” value=“0”>等待审核</eq>
  12. <volist name=“list” id=“vo”>
  13.   <tr class=“tuo-tit1”>
  14.     <td><span class=“tuo-date”>{$vo.date} </span></td>
  15.     <td><select name=“”>
  16.     <option value=“1” <eq name=‘vo.status’  value=‘1’>selected</eq>>竞标中</option>
  17.     <option value=“2” <eq name=‘vo.status’  value=‘2’>selected</eq>> 中标</option>
  18.     <option value=“3” <eq name=‘vo.status’  value=‘3’>selected</eq>>淘汰</option></select></td>
  19.     <td><a href=“#”>查看</a><a href=“#”>发私信</a></td>
  20.   </tr>
  21.   </volist>
  22. <!———————提交———————>
  23. (1)<a href=“”>
  24. <form method=“post” action=“__APP__/User/zhichuselect” name=“form” id=“form”>
  25.    查询时间:
  26.     <input type=“text”  name=“beginTime”  id=“beginTime” class=“easyui-datebox” style=“height:auto;”/>
  27.     <input type=“text”  name=“endTime” id=“endTime”  class=“easyui-datebox”/>
  28.     <a href=“javascript:;” onclick=“$(‘#form’).submit()”></a>
  29. </form>
  30. (2)如果a调用onclick方法 如:checkname()
  31. <a href=“javascript:checkname();”></a>
  32. (3)<input type=“submit”>
  33. <form action=“__APP__/User/sendLetter” method=“post”>
  34.     请输入对方的昵称:<input type=“text” class=“cing-nr”  id=“name”  name=“name”/></dt>
  35.      内容:<textarea cols=“” rows=“” class=“cing-not” name=“content” id=“content”></textarea>
  36.         <input name=“” type=“submit”  value=“发送” class=“cing-sub” /><input name=“” type=“reset” value=“清空” class=“cing-reset” />
  37.         </dd>
  38.     </dl>
  39.     </form>
  40. (4)<input type=“button”>【(得载入{:W(‘Easyui’)})
  41. function submits(){
  42.     $(“#form”).form(“submit”,{
  43.         url:”__URL__/xinxi”,
  44.         success:function(data){
  45.             var msg= $.parseJSON(data);
  46.             alert(msg.msg);
  47.                         if(msg.sta==1){
  48.                    window.location.href=“__URL__/registeEnd”;//提交成功后跳转页面
  49.             }else{
  50.                alert(msg.msg);
  51.             }
  52.         }
  53.     });
  54. }
  55. <input name=“” type=“button”  onclick=“submits()”/>
  56. $u=$users->where(array(‘id’=>15))->save($data);
  57.         if($u){
  58.             $json [‘msg’] = “信息添加成功”;
  59.             $json [‘sta’] = 1;
  60.         }else{
  61.             $json [‘msg’] = “信息添加失败”;
  62.             $json [‘sta’] = 2;
  63.         }
  64.         $this->ajaxReturn ( $json );
  65. 需要传id参数的话
  66. <input name=“” type=“button”  onclick=“submits({$vo.id})” />//submits(id)
  67. function submits(id){
  68. …………..
  69. …………..
  70.                 if(msg.sta==1){
  71.              window.location.href=“__URL__/registeEnd/id/”+id;//提交成功后跳转页面
  72.                }
  73. }
  74. (5)<input type=“submit”>调用jquery文件【
  75. <form id=“form1” name=“form1” action=“__APP__/User/sendLetter” method=“post” onsubmit=“return xxg();”>
  76. <input name=“name” id=“name”>
  77. </form>
  78. <script language=“JavaScript”>
  79. function xxg()
  80. { //两种判断方法
  81.     /* if(document.getElementById(“name”).value==””){
  82.         alert(‘姓名不能为空’);
  83.         return false;
  84.     }*/
  85.     if($(“#name”).val()==””){
  86.         alert(“姓名不能为空”);
  87.         return false;
  88.     }else{
  89.         return true;
  90.     }
  91.   }
  92. </script>
  93. 获取刚注册添加的用户的id
  94. $r = $users->add ( $data );//$r就是刚刚添加成功的用户的id
  95. <!———————根据条件输出不同的内容———————>
  96.  <volist name=“list” id=“vo”>
  97.     <eq name=“vo.sender_uid” value=“$userid”>//当前用户的id等于vo.sender_uid的时候输出下面内容
  98.     <dl class=“hui-bs”>
  99.     <dt><a href=“#”><img src=“__PUBLIC__/cms/images/h-bar14.jpg”  /></a></dt>
  100.     <dd>
  101.     <span class=“hui-true”>{$vo.sender_name}:{$vo.send_content}</span>
  102.     <p><span class=“tui-delete”><a href=“#”>回复</a> | <a href=“__URL__/detele/id/{$vo.id}”>删除</a></span>{$vo.send_time}</p>
  103.     </dd>
  104.     </dl>
  105.     </eq>
  106.     <neq name=“vo.sender_uid” value=“$userid”>当前用户的id不等于vo.sender_uid的时候输出下面内容
  107.     <dl class=“hui-bs hui-bs1”>
  108.     <dd>
  109.     <span class=“hui-true”>{$vo.receive_name}:{$vo.send_content}</span>
  110.     <p><span class=“tui-delete”><a href=“#”>回复</a> | <a href=“#”>删除</a></span>{$vo.send_time}</p>
  111.     </dd>
  112.     <dt><a href=“#”><img src=“__PUBLIC__/cms/images/h-bar14.jpg”  /></a></dt>
  113.     </dl>
  114.     </neq>
  115.  </volist>
  116. <!———————文本框只读,不能改———————>
  117. <input readonly=“readonly” type=“text” name=“title” id=“title” style=“width: 100%; background-color:#B4C0CB” value=“” />//readonly=“readonly”只读
  118. <!———————回车提交功能———————>
  119. $(function(){
  120. $(“#form1”).keydown(function(e){
  121.         var curKey = e.which;
  122.         if(curKey == 13){
  123.             login();
  124.         }
  125.     });
  126. })
  127. <!———————iframe———————>
  128. iframe 自适应高度
  129. <script type=“text/javascript”>
  130.             function SetCwinHeight(obj) {
  131.                 var height1 = $(obj).contents().find(“body”).css(“height”);
  132.                 var height2 = $(obj).contents().find(“html”).css(“height”);
  133.                 var height = “”;
  134.                 if (height1 > height2) {
  135.                     height = height1;
  136.                 } else {
  137.                     height = height2;
  138.                 }
  139.                 $(obj)
  140.                         .css(“height”,
  141.                                 (height.replace(“px”, “”) / 1 + 20) + “px”);
  142.             }
  143.         </script>
  144.         <iframe onload=“SetCwinHeight(this)” src=“__URL__/indexFrame”//indexFrame页面
  145.             style=“width: 776px;” frameborder=“0” scrolling=“no”></iframe>
  146. <!———————设置默认图片———————>
  147. <img src=“touxiang/{$vo.photo}”  onerror=‘src=”touxiang/1.jpg”‘ />//当链接图片没有,则显示默认图片1.jpg
  148. <!———————eq等于 neq不等于———————>
  149. <eq name=“vo.sender_uid” value=“$userid”>{$vo.receive_name}</eq><neq name=“vo.sender_uid” value=“$userid”>{$vo.sender_name}</neq>
  150. <!———————where条件———————>
  151. $where[‘id’]=1; (对)$where[‘id’]=array(‘eq’,1);(对)
  152. $where[‘id’]!=1;(错)$where[‘id’]=array(‘neq’,1);(对)
  153. 区间查询
  154. $where[‘id’]= array(array(‘neq’,6),array(‘gt’,3),’and’); id大于3并且不等于6
  155. $where[‘id’]  = array(‘between’,’1,8′);//between查询
  156. $where[‘id’]  = array(‘between’,array(‘1′,’8’));//between查询
  157. 模糊查询
  158. $where[‘name’] = array(‘like’,’thinkphp%’);//模糊查询
  159. $where[‘name’] = array(‘notlike’,’thinkphp%’);//模糊反向查询
  160. $where3[‘zuozhe’]= array(array(‘like’,’%,’.$bb[1].”,%”),array(‘notlike’,’%,’.$bb[0].”,%”),’and’);//合并模糊查询
  161. $where[‘id’]  = array(‘exp’,’ IN (1,3,8) ‘);//EXP:表达式,支持更复杂的查询情况
  162. 快捷查询(“|”和“&”不能同时使用)
  163. $where[‘name|title’] = ‘thinkphp’;//name=‘thinkphp’ OR title = ‘thinkphp’
  164. $where[‘status&title’] =array(‘1′,’thinkphp’,’_multi’=>true);//’_multi’=>true必须加在数组的最后,表示当前是多条件匹配,这样查询条件就变成status=1 AND title = ‘thinkphp’
  165. $user->where(‘id=1‘)->select;
  166. $user->where(array(‘id’=>1))->select;
  167. $where[‘id’]=1;
  168. $user->where($where)->select;
  169. $User = D(“User”); // 实例化User对象
  170. $condition[‘name’] = ‘thinkphp’;
  171. $condition[‘account’] = ‘thinkphp’;
  172. $condition[‘_logic’] = ‘OR’;//通过使用 _logic 定义查询逻辑:
  173. // 把查询条件传入查询方法
  174. $User->where($condition)->select();
  175. 最后生成的SQL语句是SELECT * FROM think_user WHERE name=’thinkphp’ OR account=’thinkphp’
  176. <!———————自定义文本框内容,validatebox可以用于整个form的插件,它将阻止不合法的字段从form提交———————>
  177. <input type=“text”  id=“username” name=“username”  placeholder=“手机号/邮箱”  class=“easyui-validatebox” required=“true”  />//placeholder属性class里面调用validatebox插件 required属性为true
  178. <!———————在另一个页面打开链接target———————>
  179. <a href=“{$gao.link}” target=“_blank”>
  180. <!———————获取前100个字节———————>
  181. {$p.promemo|string_cut=100}
  182. <!———————分页———————>
  183.                 import ( ‘ORG.Util.Page’ ); // 导入分页类
  184.         $num = I(“num”,10);//以num为参数或者以10位默认值
  185.         $count = $m->count ();
  186.         $page = new Page ( $count, $num );
  187.         $page->setConfig ( ‘theme’, getPageTheme() );
  188.         $show = $page->show ();
  189.         $list = $m->limit ( $page->firstRow . ‘,’ . $page->listRows )->select ();
  190.         $this->assign ( ‘show’, $show );
  191.         $this->assign(“list”,$list);
  192.         在模板html页面调用分页{$show}
  193. <!———————for循环  $zhao[$i][‘countall’]=$count; 给zhaobiao表添加了一个新字段,在HTML页面输出数据———————>
  194. $zhaobiao=D(‘Zhaobiao’);
  195.         $zhao=$zhaobiao->limit(8)->order(‘id desc’)->select();
  196.         $baojia=D(‘Baojia’);
  197.         for($i=0;$i<countArray($zhao);$i++){
  198.             $id=$zhao[$i][‘id’];
  199.             $count=0;
  200.             $baojia1=$baojia->where(array(‘zhaobiaoid’=>$id))->field(array(‘num’,’cankao’))->select();
  201.             for($j=0;$j<countArray($baojia1);$j++){
  202.                 $count=$count+$baojia1[$j][‘num’]*$baojia1[$j][‘cankao’];
  203.             }
  204.             $zhao[$i][‘countall’]=$count;
  205.         }
  206.         $this->assign(“zhao”,$zhao);
  207. <!———————修改获取select下option数据———————>
  208. <script language=“javascript”>
  209. $(function() {
  210.     $(‘#typeid’).val(‘{$vo.typeid}’);//从数据库获取的typeid
  211. })
  212. </script>
  213.  <td ><select id=“typeid” name=“typeid”>
  214.     <volist name=“leis” id=“leiv”>
  215.     <option value=“{$leiv.id}” >{$leiv.memo}</option>
  216.     </volist>
  217.       </select>
  218. </td>
  219. 获取状态radio
  220. <script type=“text/javascript”>
  221. $(function(){
  222.     $(“#status_{$vo.status}”).attr(‘checked’,true);
  223. })
  224. </script>
  225. <tr>
  226.     <td width=“18%” class=“infoBoxTd”>状态:</td>
  227.     <td colspan=“2”>
  228.         <input type=“radio” name=“status” value=“1” id=“status_1” checked/>启用
  229.         <input type=“radio” name=“status” value=“0” id=“status_0” />禁用
  230.     </td>
  231. </tr>
  232. jQuery根据数据库内容选中按钮
  233. <select name=“cid” id=“cid” >
  234.    <option value=“-1” >请选择分类</option>
  235.      <volist name=“clist” id=“row” key=“k”>
  236.    <option id=“c_{$row.id}” value=“{$row.id}” >{$row.name}</option>
  237.      </volist>
  238. </select>
  239. <input type=“radio” checked name=“iszd” id=“iszd1” value=“1”/> 置顶 <input type=“radio” name=“iszd” value=“0” id=“iszd2” /> 不置顶
  240. <input type=“radio” checked name=“isyc” id=“isyc1” value=“1”/> 原创 <input type=“radio” name=“isyc” value=“0” id=“isyc2” /> 转载
  241. 前台页面需要使用jQuery
  242. <script type=“text/javascript”>
  243. $(function(){
  244.         $(“#cid”).val({$vo.cid});
  245.     if({$vo.iszd}==1){
  246.         $(“#iszd1”).attr(‘checked’,true);
  247.     }else{
  248.         $(“#iszd2”).attr(‘checked’,true);
  249.     }
  250.     if({$vo.iszd}==1){
  251.         $(“#isyc1”).attr(‘checked’,true);
  252.     }else{
  253.         $(“#isyc2”).attr(‘checked’,true);
  254.     }
  255. })
  256. </script>
  257. <!———————设置背景图片大小、正确显示幻灯片图片———————>
  258. <li style=“display:<neq name=’key’ value=’0′>none</neq>;background:url(__PUBLIC__/Uploads/xiangmu/{$vo.pic}) top center no-repeat;background-size:1360px 950px;”>
  259. <!———————正则表达式,用户名验证汉字数字字母1-20位———————>
  260.     if (!$(“#name”).val().match( /^[\u4E00-\u9FA5a-zA-Z0-9_]{1,20}$/)) {
  261.         alert(‘用户名由汉字、英文字母、数字和下划线组成,1-20位’);
  262.         $(“#name”).focus();
  263.         return false;
  264.     }
  265. 正则表达式,用户名必须是英文字母开头,也可包含数字和下划线,6-12位
  266. if (!$(“#username”).val().match( /^[a-zA-Z][a-zA-Z0-9_]{6,12}$/)) {
  267.         alert(‘用户名必须是英文字母开头,也可包含数字和下划线,6-12位’);
  268.         $(“#username”).focus();
  269.         return false;
  270.     }
  271. if(!(/^1[3|4|5|8][0-9]\d{4,8}$/.test($(“#phone”).val()))){
  272.         alert(“不是完整的11位手机号或者正确的手机号前七位”);
  273.         $(“#phone”).focus();
  274.         return false;
  275.     }
  276. 正则表达式,用户名只能是汉字
  277. if(!$(“#name”).val().match( /^[\u4E00-\u9FA5]{0,6}$/)) {
  278.             $(“#name”).focus()
  279.             $(“#name_s”).html(“<img src=‘__PUBLIC__/sysimages/x.png’/><font color=‘red’>真实姓名只能是汉字!</font>“);
  280.             return false;
  281. 正则表达式,邮箱验证
  282. var email = $(“#email”).val();
  283. if(!isEmail(email)){
  284.             $(“#email”).focus()
  285.             $(“#email_s”).html(“<img src=‘__PUBLIC__/sysimages/x.png’/><font color=‘red’>邮箱格式不正确!</font>“);
  286.             return false;
  287. 正则表达式,如果密码是9位数以下纯数字!
  288.  if($(“#password”).val().match(/^\d{1,9}$/)){
  289.             $(“#password”).focus()
  290.             $(“#password_s”).html(“<img src=‘__PUBLIC__/sysimages/x.png’/><font color=‘red’>密码不能是9位数以下纯数字!</font>“);
  291.             return false;
  292.         }
  293. 正则表达式,是否包含空格
  294. if(password.indexOf(” “)!=-1){  //是否包含空格
  295.             $(“#password”).focus()
  296.             $(“#password_s”).html(“<img src=‘__PUBLIC__/sysimages/x.png’/><font color=‘red’>密码不能包含空格!</font>“);
  297.             return false;
  298.         }
  299. <!———————19.———————>
  300. <div class=“jxzx”>
  301.            <dl class=“news”>
  302.             <dt><a href=“#” class=“hover”  id=“j1” onmouseover=“setTab(‘j’,1,3)”>经济金融动态</a>
  303.             <a href=“#” id=“j2” onmouseover=“setTab(‘j’,2,3)”>监管机构动态</a>
  304.             <a href=“#”  id=“j3” onmouseover=“setTab(‘j’,3,3)”>同业动态</a>
  305.             <dd><a href=“__APP__/More/index”>more</a></dd>
  306.             </dl>
  307.             <div class=“clear”></div>
  308.             <div class=“cont” id=“con_j_1”>
  309.                 <!–经济金融动态 –>
  310.                 {:W(‘Jjjr’)}
  311.             </div>
  312.             <div class=“cont”  id=“con_j_2”  style=“display:none”>
  313.                 <!–监管机构动态 –>
  314.                 {:W(‘Jgjg’)}
  315.             </div>
  316.             <div class=“cont” id=“con_j_3” style=“display:none”>
  317.                 <!–同业动态 –>
  318.                 {:W(‘Tydt’)}
  319.             </div>
  320.         </div>
  321. <!———————添加HTML页面标签(给id为test的标签下的tbody标签里面添加标签内容)append()函数———————>
  322. <script>
  323.      function addline() {
  324.     $(“#test tbody”).append(
  325.            ‘<tr class=“houlaitianjia”><td><input type=“file” name=“file[]” style=“width:250px;”><input class=“picnameinput” style=“width: 250px;”/>&nbsp;<a onclick=“del(this)” href=“javascript:void(0)”><img src=“__PUBLIC__/cms/images/sc.png”></a></td></tr>
  326.           );
  327. }
  328.         </script>
  329. <!———————根据有没有企业名字这个条件进行查询,查询结果是循环里面套循环volist里面加volist———————>
  330. 后台方法:
  331. function index(){
  332.         $memeber=D(‘Member’);
  333.         $qiyename=I(“qiyename”,””);
  334.         if($qiyename!=””){
  335.             $where[“qiyename”] = $qiyename;
  336.         }
  337.         $m=$memeber->where($where)->select();
  338.         $huoyuan=D(‘Huoyuan’);
  339.         for($i=0;$i<countArray($m);$i++){
  340.             $id=$m[$i][‘id’];
  341.             $where[‘memberid’]=$id;
  342.             $huoy=$huoyuan->where($where)->select();
  343.             $m[$i][‘memo’]=$huoy;
  344.         }
  345.         $this->assign(“m”,$m);
  346.         $this->display();
  347.     }
  348. 前台页面:
  349. <volist name=“m” id=“vo”>
  350. {$vo.qiyename}
  351. <volist name=“vo.memo” id=“hvo”><eq name=“hvo.memo” value=“”>没有信息发布</eq><neq name=“hvo.memo” value=“”>{$hvo.memo}</neq></br></volist>
  352. <p>联系人:{$vo.name}&nbsp;&nbsp;  联系电话:{$vo.tel}</p>
  353. {$vo.createtime}发布
  354. </volist>
  355. <!———————将一篇文章里的图片和内容分别显示出来———————>
  356. function index(){
  357.         $zsesc=D(“Zxhd”);
  358.         $zs=$zsesc->order(“time desc”)->find();
  359.         $matchs = selectImgHtml($zs[“content”],”__PUBLIC__/home/default/zanwutupian.jpg”);
  360.         $zs[“image”] = $matchs;
  361.         $zs[“content”] = strip_tags($zs[“content”] );
  362.         $this->assign(“zs”,$zs);
  363.         $this->display();
  364.     }
  365. <volist name=“zs.image” id=“zz”>
  366. {$zz}
  367. </volist>
  368. <p>{$zs.content}</p>
  369. <!———————鼠标点击切换不同的class属性内容(js)———————>
  370. <script type=“text/javascript”>
  371.   $(document).ready(function(){
  372.       $(‘.memo’).click(function (){
  373.           $(‘.memo’).css(‘color’,’black’);
  374.           $(this).css(‘color’,’#679C31′);
  375.       });
  376.   });
  377. </script>
  378.   <volist name=“lei” id=“leivo”>
  379.         <li><a class=“memo” href=“javascript:;” >{$leivo.memo}</a></li>
  380.   </volist>
  381. 清空某标签里面的某一个class属性
  382. $(“.mb2_1 a”).removeClass(‘selected’);
  383. 清空某标签里面的所有class属性
  384. $(“.mb2_1 a”).removeClass();
  385. 给某标签的class添加其他class
  386. $(“.mb2_1 a”).eq(0).addClass(‘selected’);
  387. $(“.nav-main>li:eq(4) span”).attr(“class”, “nav_hit”);
  388. $(“.page”).find(“.num”).removeClass(“num”);
  389. 根据id改变class属性内容
  390. function iframe3(a,b){
  391.     $(“.mb2_1 a”).removeClass(‘selected’);
  392.     $(“#p_”+a).addClass(“selected”);
  393. }
  394. <div class=“mb2_1”>
  395. <a id=“p_{$pvo.id}” href=“javascript:iframe3({$pvo.id},{$tid})”>{$pvo.title}</a>
  396. </div>
  397. <!———————返回前一页———————>
  398. <input type=“button” onclick=“javascript:history.back()” value=“返回” />
  399. <!———————点击删除时,图片也要一起删除———————>
  400. unlink(‘./Public/Uploads/desdd/’.$pic[‘pic’]);
  401. <!———————设置背景图片及大小———————>
  402. <div style=“background:url(1.jpg) no-repeat; background-size:1000px 211px;”>
  403. <!———————根据条件查询某一表多条数据,获取这多条数据中的每条的id,将id组成字符串,进行查询———————>
  404. function article(){
  405.         //收藏的文章
  406.         $articlecollect=D(‘Articlecollect’);
  407.         $where[‘sid’]=12;
  408.         $alist=$articlecollect->where($where)->select();
  409.         foreach ($alist as $k=>$v){
  410.             $ids=$v[‘aid’].”,”.$ids;
  411.         }
  412.         $ids=$this->getStringExceptLastChar($ids);//获取除最后一个字符的字符串
  413.         $article=D(‘Article’);
  414.         $a=$article->where(“id in (“.$ids.”)”)->select();
  415.         $this->assign(“a”,$a);
  416.     }
  417. 如果是view的话查询条件要写上是哪个表的id字符串
  418. function I_index(){
  419.         //查询收藏的老师
  420.         $collection = D(‘Collection’);
  421.         $clist = $collection->where(array(‘sid’=>1))->select();
  422.         foreach($clist as $k=>$v){
  423.             $tid=$v[‘tid’];
  424.             $ids =$tid.”,”.$ids;
  425.         }
  426.                 $ids=$this->getStringExceptLastChar($ids);
  427.                 $teacher=D(‘TeacherView’);
  428.                 $t=$teacher->where(“Teacher.id in (“.$ids.”) and Teacher.status=1“)->select();
  429.                 $this->assign(“t”,$t);
  430.     }
  431. 查询其他表的数据在当前volist里面输出
  432.                 $article=D(‘Article’);
  433.                 $collection = D(‘Collection’);
  434.         $list = $collection->where(array(‘sid’=>1))->select();
  435.         for($i=0;$i<countArray($list);$i++){
  436.             $cid=$list[$i][‘id’];
  437.             $anum=$article->where(array(‘cid’=>$cid))->count();
  438.             $list[$i][‘anum’]=$anum;
  439.         }
  440.         $this->assign(‘list’,$list);
  441. <!———————js刷新当前页面,跳转———————>
  442. <script type=“text/javascript”>
  443.     $(function(){
  444.            location.reload();
  445.     })
  446. </script>
  447. 刷新包含该框架的页面用
  448. <script language=JavaScript>
  449.     parent.location.reload();
  450. </script>
  451. 2000毫秒后跳转到另一页面
  452. <script type=“text/javascript”>
  453. $(function(){
  454.     var t=setTimeout(function(){
  455.         window.location.href=“__URL__/login”;
  456.     },2000)
  457. });
  458. </script>
  459. <!———————设置默认iframe,可以切换其他iframe,并且随着iframe的切换标题变动颜色attr()方法———————>
  460.      <ul>
  461.         <li><a class=“a” target=“iframepage” href=“__URL__/getshouru/tid/{$tvo.id}”>收入明细</a></li>
  462.         <li><a class=“a” target=“iframepage” href=“__URL__/getaixin/tid/{$tvo.id}”>爱心救助金明细</a></li>
  463.         <li><a class=“a” target=“iframepage” href=“__URL__/totixian/tid/{$tvo.id}” style=“color:#1f8dd9;”>提现</a></li>
  464.      </ul>
  465.      <!– ——————————————————-可变内容——————————————- –>
  466.         <iframe style=“width:100%” id=“iframepage” name=“iframepage” onload=“this.height=this.contentWindow.document.documentElement.scrollHeight” frameborder=0 scrolling=no src=“__URL__/totixian/tid/{$tvo.id}”></iframe>
  467.      <!– ——————————————————-可变内容——————————————- –>
  468.    <script type=“text/javascript”>
  469.      $(function(){
  470.     $(“.a”).attr(‘onclick’,”setcolor(this)”);//页面加载的时候点击哪个class=a的标签,哪个标签就调用setcolor方法,变动颜色
  471.      })
  472.     function setcolor(obj){
  473.     $(“.a”).css(‘color’,’black’);//class=a的标签,颜色是black
  474.     $(obj).css(“color”,”#1f8dd9″);//将obj的颜色设置成”#1f8dd9″
  475.       }
  476.   </script>
  477. <!———————函数———————>
  478. implode()把数组元素组合为一个字符串。
  479. explode()把字符串分割为数组
  480. strpos()返回字符串在另一个字符串中第一次出现的位置
  481. 截取字符串  substr(‘ahddsjkdjdsk’,8,2)  从下标是8的开始截取两个字符  substr(‘dsfaasfdafdf’,0,7);从下标是0开始截取7个字符
  482. 先截取最后一个,的字符串,再截取第一个字符串  substr(rtrim(‘,1,2,3,4,5,’,’,’),1)     输出的是1,2,3,4,5
  483. <!———————鼠标放上去文字消失———————>
  484. <input type=“text” onfocus=“javascript:this.value=”” value=“请输入文章关健词进行检索”/>
  485. <!———————从app下的方法跳转到index下的页面header()———————>
  486.                if($user_type==1){//登录者为教师
  487.             header(“Location:”.”http://”.$_SERVER[‘HTTP_HOST’].”/”.__ROOT__.’/teacheradmin.php/Index/index’);
  488.         }else{//登录者为学生
  489.             header(“Location:”.”http://”.$_SERVER[‘HTTP_HOST’].”/”.__ROOT__.’/studentadmin.php/Index/index’);
  490.         }
  491. <!———————弹出层(需要引入一个插件zczy-UI.js)———————>
  492. <a href=“javascript:opend()” >弹出层</a>
  493. <script type=“text/javascript”>
  494. $(function(){
  495.     $(‘#zcxydiv’).zczy_window({
  496.         “closed” : true
  497.     });
  498. })
  499. function opend() {
  500.         $(‘#zcxydiv’).zczy_window(“open”);
  501. }
  502. function close() {
  503.         $(‘#zcxydiv’).zczy_window(“close”);
  504. }
  505. </script>
  506. <div id=“zcxydiv” >
  507.         <h2 class=“tc_xx_top”><span><a href=“javascript:close()”><img src=“{$hi}/in_tu_57.png”/></a></span>弹出层</h2>
  508.         <div class=“tc_xx_lie”>
  509.             {$content}
  510.         </div>
  511.     </div>
  512. <!———————button箭头变成小手———————>
  513. style=“cursor:pointer”
  514. <input type=“button” value=“登 录” style=“cursor:pointer”/>
  515. default 默认状态(箭头)
  516. pointer  手形
  517. crosshair  十字形
  518. text  文本形
  519. wait  沙漏形
  520. move  十字箭头形
  521. help  问号形
  522. e-resize  右箭头形
  523. n-resize  上箭头形
  524. nw-resize  左上箭头形
  525. w-resize  左箭头形
  526. s-resize  下箭头形
  527. se-resize  右下箭头形
  528. sw-resize  左下箭头形
  529. <!———————截取除html外的前多少个字符———————>
  530. string_cut_nohtml=70
  531. <!———————like查询条件———————>
  532. $sname=I(“sname”);
  533. $where[‘name’]=array(‘like’,’%’.$sname.”%”);
  534. <!———————分组显示,相当于group by的效果———————>
  535. $group = $model->group(‘visitdate’)->where($condition2)->select();
  536. $num1 = $wszx->query(“select DISTINCT(sid) from think_wszx”);//有多少个学生进行过网上咨询
  537. $list=$model->query(“select DISTINCT(gid) from think_buy where userid=“.$_SESSION[‘member_id’].” order by createtime desc limit “.$page->firstRow.”,”.$page->listRows);//加入了排序order by和limit
  538. $list = $school->query(“select *, count(DISTINCT name) from think_major where typeid=“.$v[‘id’].” group by name”);
  539. $list=$huiyuan->query(“select *, count(DISTINCT phone) from think_yuyue where bianma=“.$bianma.” group by phone order by createtime desc limit “.$page->firstRow.”,”.$page->listRows);
  540. $count=$huiyuan->query(“select *, count(DISTINCT phone) from think_yuyue where bianma=“.$bianma.” group by phone”);
  541. $count=countArray($count);
  542. <!———————循环调用typeid,查出相对应的option的值———————>
  543.  <volist name=“list” id=“row”>
  544.     <select id=“typeid”  name=“typeid”>
  545.       <volist name=“type” id=“tvo”>
  546.      <option <eq name=“tvo.id” value=“$row.typeid”>selected</eq> value=“{$tvo.id}”>{$tvo.name}</option>
  547.       </volist>
  548.    </select>
  549.  </volist>
  550. <!———————截取文字———————>
  551. function string_cut_nohtml($str, $n,$s=“…”){
  552.     $str =  string_cut ( preg_replace ( “/\s/”, “”, strip_tags ( $str) ), 160 );
  553.     return string_cut($str, $n,$s);
  554. }
  555. <!———————通过链接从一页面跳转到一iframe页面———————>
  556. <a href=“__APP__/Article/toadd/cid/{$row1.cid}”>跳转</a>
  557. action方法:function toadd(){
  558.         $this->assign(‘method’,’toAdd’);
  559.         $this->template(‘index’,’添加文章’);
  560.     }
  561. 通过改变iframe的src属性,跳转到不同的方法页面
  562. index页面,iframe执行toAddArticle方法
  563. <script type=“text/javascript”>
  564. var method=“{$method}”;
  565. if(method==”toAdd”){
  566.     $(“#iframepage”).attr(‘src’,”__APP__/Article/toAddArticle”);
  567. }
  568. </script>
  569. <!———————触发onclick事件时,改变当前点击的class=”a”的样式———————>
  570. <script type=“text/javascript”>
  571. $(function(){
  572.     $(“.a”).attr(‘onclick’,”setcolor(this)”);
  573. })
  574. function setcolor(obj){
  575.     $(“.a”).css(‘color’,’black’);
  576.     $(obj).css(“color”,”#1f8dd9″);
  577. }
  578. </script>
  579. <!———————css<div>标签文字居右显示,CSS定义字体行间距———————>
  580. <div style=“text-align:right;line-height:xxpx;”>
  581. <!———————JS验证判断———————>
  582. js分割字符串
  583. name = “张三,李四,王五”;
  584.      ch = new Array;
  585.      ch = name.split(“,”);
  586.      for(i=0;i<ch.length;i++){
  587.       document.write(ch[i],”<br>“);
  588.      }
  589. 结果:张三 李四 王五
  590. <!———————ajax———————>
  591. function check(){
  592. $.ajax({
  593.                 url:’__URL__/checkEmail’,
  594.                 type:’post’,
  595.                 dataType:’json’,
  596.                 data:{’email’:email},
  597.                 success:function(data){
  598.                     if(data.sta==0){
  599.                         $(“#email”).focus();
  600.                         $(“#email_s”).html(“<img src=‘__PUBLIC__/sysimages/x.png’/><font color=‘red’>没有相关用户信息, 请检查邮箱是否正确</font>“);
  601.                         return false;
  602.                     }else{
  603.                         $(“#email_s”).html(“<img src=‘__PUBLIC__/sysimages/p.png’/><font color=‘blue’>该邮箱可以使用!</font>“);
  604.                     }
  605.                 }
  606.             });
  607. }
  608. <!———————根据字符串查询数据———————>
  609. //查询收藏的老师
  610.         $collection = D(‘Collection’);
  611.         $clist = $collection->where(array(‘sid’=>$uid))->select();
  612.         foreach($clist as $k=>$v){
  613.             $tid=$v[‘tid’];
  614.                 $ids =$tid.”,”.$ids;
  615.         }
  616.         $ids=$this->getStringExceptLastChar($ids);//获取查询出的所有tid,组成字符串
  617.         $teacher=D(‘TeacherView’);
  618.         $t=$teacher->where(“Teacher.id in (“.$ids.”)”)->limit(0,2)->select();
  619.         $this->assign(“t”,$t);
  620.   array_push()用法,向第一个查询出来的数组后继续添加一个或多个元素
  621.  //我的足迹
  622.         $zuji=D(‘Zuji’);
  623.         $zulist=$zuji->where(array(‘sid’=>$uid))->order(‘createtime desc’)->limit(0,2)->select();
  624.         $tlist = array();
  625.         foreach($zulist as $k => $v){
  626.             $tvo = $teacher->getById($v[‘tid’]);
  627.             array_push($tlist,$tvo);
  628.         }
  629.         $this->assign(“zulist”,$tlist);
  630. <!———————同步执行操作———————>
  631. <span id=“ncount”>5</span>
  632. function notice(){
  633.         var ncount=$(“#ncount”).text();
  634.         $(“#ncount”).text(ncount-1);//数量减一
  635.             //数量加一 $(“#ncount”).text(ncount-1+2);
  636.     }
  637. 返回
  638. <a href=“javascript:history.back()”>返回</a>
  639. <!———————确定删除?确定退出,提示语句———————>
  640. <a href=“__URL__/loginout” onclick=“return confirm(‘确定要退出?’)”>退出</a>
  641. <!———————form获取volist的value值———————>
  642. <form action=“__URL__/index” id=“form1” method=“post”>
  643. <volist name=“name” id=“nvo”>
  644. <input type=“hidden” name=“uid[]” value=“{$nvo.uid}”>//命名name时用数组,如uid[]
  645. </volist>
  646. <input type=“submit” value=“分配并提醒他们” />
  647. </form>
  648. function index(){
  649.  $uid=I(“uid”); //获取的是数组
  650. }
  651. <!———————获取字段的长度———————>
  652. $title=“你好”;
  653. $wslist=mb_strlen($title,”UTF8″);
  654. <!———————加密函数base64_encode()———————>
  655. 对应的解密函数base64_decode()
  656. <!———————直接跳转页面,不用success()方法———————>
  657. header(‘Location: http://php.zbyyzm.com/hos/bbs/’);
  658. 从app页面跳转到home下的register方法下的tosuccess页面
  659. header(“Location:”.”http://”.$_SERVER[‘HTTP_HOST’].”/”.__ROOT__.’/index.php/Register/tosuccess’);
  660. <!———————通过form跳转不同的方法———————>
  661.          第一种:      if(a==1){
  662.             document.form.action=“__URL__/方法1”;
  663.         }else{
  664.             document.form.action=“__URL__/方法2”;
  665.         }
  666.         document.form.submit();
  667.      第二种:$(“#form”).attr(‘action’,'{:U(“buys”)}’);
  668.          $(“#form”).submit();
  669. <!———————传参———————>
  670. $(‘#iframepage1’).attr(‘src’,”{:U(‘Footer/helpwith’)}/id/”+id);
  671. <!———————循环出来的j是1、2、1、2、1、2、1、2、、、———————>
  672. $j = 1;
  673. for ($i = 0; $i < countArray($list); $i++) {
  674.     $list[$i][‘cla’]=$j;
  675.     $j++;
  676.     if($j==3){
  677.         $j=1;
  678.     }
  679. }
  680. <!———————传值———————>
  681. $(‘#iframe’).attr(‘src’,”__APP__/Footer/helpwith/id/”+id+”/type/2″);
  682. <input name=“commentid” id=“commentid” type=“checkbox” value=“1”/>我所提出最新评论
  683. <script type=“text/javascript”>
  684. $(function(){
  685.     if(“{$vo.commentid}”==1){
  686.         $(“#commentid”).attr(‘checked’,true);
  687.     }
  688. });
  689. </script>
  690. <!———————查询———————>
  691. $begin=I(‘begin’);
  692. $end=I(‘end’);
  693.           if ($begin != “” && $end != “”) {
  694.             $where [‘createdate’] = array (
  695.             array (‘egt’,$begin),
  696.             array (‘elt’,$end),’and’
  697.             );
  698.         }
  699.     if ($begin != “” && $end == “”) {
  700.         $where [‘createdate’] = array (
  701.            ‘egt’,$begin);
  702.     }
  703.     if ($begin == “” && $end != “”) {
  704.         $where [‘createdate’] = array (
  705.            ‘elt’,$end);
  706.     }
  707. <!———————显示收藏(点击触发onclick事件,执行check方法进行数据的隐藏和显示)———————>
  708. <a href=“javascript:check();”>阅读更多…</a>
  709. function check(){
  710.     $(‘#memo1’).hide();//收藏
  711.         $(“#memo2”).show();//显示
  712.       }
  713. <!———————$data获取今天的日期,$monthday获取$data所在的月份的第一天以及最后一天。$monthday是个数组———————>
  714. $date=getCurrentDate();
  715. $monthday=getThemonth($date);
  716. <!———————常用事件onchange、onclick———————>
  717. <!———————通过onchange事件触发jishuanhe方法遍历数组———————>
  718. function jishuanhe(){
  719.     var  all = 0;
  720.     $(“.ck:checked”).each(function(){
  721.         var a = $(this).parent().parent().find(“.moneyevery”).eq(0).html()/1;
  722.         all+=a;
  723.     });
  724.     $(“#all”).html(all);
  725. }
  726. <!———————发送邮件,吧用户email和id传过来———————>
  727. function sendEmail() {
  728.         $email = I ( “em” );
  729.         $emails = explode ( “@”, $email );
  730.         $userid = I(“uid”);
  731.         $uuid = getUUID ( 4 );
  732.         $domain = getDomain ();
  733.         $url = $domain . __APP__ . “/Email/checkEmail?uid=” . $userid . “&ud=” . $uuid;
  734.         $name = getNameByUserid ( $userid );
  735.         if ($name == “”) {
  736.             $name = “无名”;
  737.         }
  738.         import ( ‘ORG.Net.Mail’ );
  739.         $r = SendMail ( $email, ‘注册成功’, getEmailContents ( $name, $url, $domain ), ‘定制商城’ );
  740.         if ($r == 1) {
  741.             $address = explode ( “@”, $email );
  742.             $this->assign ( “emailServer”, “http://mail.” . $address [1] );
  743.             $msg [‘sta’] = 1;
  744.             $msg [‘msg’] = “邮件已发送到您的邮箱”;
  745.         } else {
  746.             $msg [‘sta’] = 2;
  747.             $msg [‘msg’] = “邮件发送失败,请稍后尝试”;
  748.         }
  749.         $this->ajaxReturn ( $msg );
  750.     }
  751. /**
  752.  * 邮件的内容
  753.  */
  754. function getEmailContents($name, $url, $domain){
  755.     $html = ‘
  756.             <style>.email{width:500px;font-family: “微软雅黑”,”Arial”;padding-left:20px; line-height:25px;color:#636466;}’ . ‘.em_top{background-color:#50A5E6;height:40px;background-image:url(‘ . $domain . __ROOT__.’/Public/images/logo_email.jpg) ;background-repeat :no-repeat;}.email h3{ padding-left:20px; }.email h4{ font-size:14px; padding-left:40px;}.email h5{font-size:14px; padding-left:40px; padding-top:8px;}.email h5 a{ text-decoration:none; color:#FFF; font-size:18px; background:#55aaea; padding:12px 18px;}.email h5 a:hover{ color:#666;}.em_ni{ font-size:12px;padding-left:40px;}.em_ni a{ color:#55aaea;}.em_ni a:hover{color:#666;}.em_b{ font-size:12px;}</style>
  757.             <div class=“email”><p class=“em_top”></p><h3><span>Hello</span>先生/女士:</h3><h4>恭喜您,注册成功<br /></h4>
  758.                     <div class=“em_b”>2014@&nbsp;&nbsp;定制商城网&nbsp;&nbsp;客服热线:010-0000000&nbsp;&nbsp;info@.cn</div>
  759.             </div>‘;
  760.     return $html;
  761. }
  762. /**
  763.  * 根据用户id获取姓名
  764.  *  string $userid 用户id
  765.  */
  766. function getNameByUserid($userid){
  767.     $U = D(“Member”);
  768.     $where[“id”]=$userid;
  769.     return $U->where($where)->getField(“username”);
  770. }
  771. <!———————each()遍历数组———————>
  772. <!———————U方法———————>
  773. (1)传1个参数<a href=“{:U(‘About/index’,array(‘id’=>1))}”>
  774. (2)传多个参数<a href=“{:U(‘About/index’,array(‘id’=>1,’p’=>2))}”>
  775. (3)传的参数是从后台获取过来的<a href=“{:U(‘About/index’,array(‘id’=>$id))}”>
  776.  (4)传参数window.location.href=“{:U(‘Home/Member/cunchudetail’)}?pid=”+pid;
  777. <!———————点击对应的导航栏变换颜色,改变eq()内的值,指定对应的导航栏———————>
  778. $(function(){
  779.     $(“.nav_ul li a”).eq(6).addClass(“hover”);
  780. });
  781. <!———————***———————>
  782. 显示$(‘#div1’).show()
  783. 隐藏$(‘#div1’).hide()
  784. <!———————字段只能为数字 class=”easyui-numberbox”———————>
  785. <input type=“text” name=“px” id=“px” size=“60”  class=“easyui-numberbox” />
  786. <!———————弹出新窗口页面———————>
  787. <a href=“javascript:;” onclick=“checka(id);”>跳转到方法传参</a>
  788. function checka(id){
  789.     window.open(“__URL__/lianxi/id/”+id,””,”width=700px,height=500px“)
  790. }
  791. <!———————获取radio选中按钮的value值———————>
  792. <label><input type=“radio” name=“pingfen” value=“4”  checked=“checked”>4</label>
  793. <label><input type=“radio” name=“pingfen” value=“3”>3</label>
  794. <label><input type=“radio” name=“pingfen” value=“2”>2</label>
  795. var val=$(‘input:radio[name=“pingfen”]:checked’).val();
  796. <!———————把选中的checkbox标签的下的价格累加起来———————>
  797. <p><label><input type=“checkbox” value=“{$cfind.hid1}” name=“chois1[]” id=“hid1” class=“ck” checked/>机油</label><input name=“hname1” id=“hname1” type=“text” class=“input_260” value=“{$cfind.hname1}” readonly=“readonly” style=“background-color:#EBEBEB”/>&nbsp;&nbsp;{$cfind.hbao1}<input type=“hidden” id=“hprice1” name=“hprice1” class=“moneyevery” value=“{$cfind.hprice1}” /></p>
  798. <p><label><input type=“checkbox” value=“{$cfind.hid2}” name=“chois1[]” id=“hid2” class=“ck” checked/>机滤</label><input name=“hname2” id=“hname2” type=“text” class=“input_260” value=“{$cfind.hname2}” readonly=“readonly” style=“background-color:#EBEBEB”/>&nbsp;&nbsp;{$cfind.hbao2}<input type=“hidden” id=“hprice2” name=“hprice2” class=“moneyevery” value=“{$cfind.hprice2}” /></p>
  799. <p><label><input type=“checkbox” value=“{$cfind.hid3}” name=“chois1[]” id=“hid3” class=“ck” />空气滤清器</label><input name=“hname3” id=“hname3” type=“text” class=“input_260” value=“{$cfind.hname3}” readonly=“readonly” style=“background-color:#EBEBEB”/>&nbsp;&nbsp;{$cfind.hbao3}<input type=“hidden” id=“hprice3” name=“hprice3” class=“moneyevery” value=“{$cfind.hprice3}” /></p>
  800. <p><label><input type=“checkbox” value=“{$cfind.hid4}” name=“chois1[]” id=“hid4” class=“ck” />空调滤清器</label><input name=“hname4” id=“hname4” type=“text” class=“input_260” value=“{$cfind.hname4}” readonly=“readonly” style=“background-color:#EBEBEB”/>&nbsp;&nbsp;{$cfind.hbao4}<input type=“hidden” id=“hprice4” name=“hprice4” class=“moneyevery” value=“{$cfind.hprice4}” /></p>
  801. //计算合
  802.     var  all = 0;
  803.     $(“.ck:checked”).each(function(){
  804.         var a = $(this).parent().parent().find(“.moneyevery”).eq(0).val()/1;
  805.         all+=a;
  806.     });
  807.     $(“#hprices”).html(all);//最终结果
  808. <!———————根据id改变指定标签的checked属性———————>
  809. document.getElementById(“hid1”).checked = true;
  810. <!———————自动生成编号———————>
  811. (1)$bianhao=date(‘H-iY-m-d’);//获取时间的函数H:时,i:分钟,Y:年,m:月,d:日
  812. $bianhao=str_replace(‘-‘,”,$bianhao);//字符串替换函数
  813. $bianhao.=rand(1000,999999);//返回随机整数,范围是(1000,999999)
  814. $data[‘bianhao’]=$bianhao;//时间数+随机整数
  815. (2)也可直接获取随机整数
  816. $bianhao=rand(1000,999999);//返回随机整数,范围可自动调整比如(1000,999999)
  817. <!———————设置上传文件的大小———————>
  818. 修改php.ini文件下面的:
  819. post_max_size = 108M
  820. upload_max_filesize = 100M
  821. <!———————获取本地另一数据库内表的数据———————>
  822. $model = M ( “” );
  823. $model->db ( 1, “mysql://” . C ( “DB_USER” ) . “:” . C ( “DB_PWD” ) . “@” . C ( “DB_HOST” ) . “:” . C ( “DB_PORT” ) . “/” . “jmt” );
  824. $mlist=$model->db(1)->query(“select * from think_banner”);
  825. <!———————将val值换成可进行加减的值———————>
  826. var fuwufei=$(“#fuwufei”).val()/1;
  827. <!———————给value赋session的值———————>
  828. <input  type=“text” value=“{$Think.session.phone}”/>
  829. <!———————添加两张图片———————>
  830. if($files[“sta”]==1){
  831.             $data[‘picname’]=$files[“files”][0][“savename”];
  832.             $data[‘picname2’]=$files[“files”][1][“savename”];
  833. }
  834. 修改两张图片
  835. if($files[“sta”]==1){
  836.             for($i=0;$i<countArray($files[“files”]);$i++){
  837.                 if($files[“files”][$i][‘key’]==”picname”){
  838.                     $data[‘picname’]=$files[“files”][$i][“savename”];
  839.                 }
  840.                 if($files[“files”][$i][‘key’]==”picname2″){
  841.                     $data[‘picname2’]=$files[“files”][$i][“savename”];
  842.                 }
  843.             }
  844.         }
  845. <!———————unset方法()销毁指定变量———————>
  846. unset($_SESSION[‘user’]);
  847. <!———————判断checkbox是否是选中状态———————>
  848. $(“#checkbox”).is(“:checked”) == false
  849. <!———————添加cookie———————>
  850. cookie ( “phone”, I ( ‘phone’, “” ), array(“path”=>“/”,”expire”=>3600 * 24 * 7 ));
  851. 清除cookie  cookie(“phone”, null, time()-3600*24*365);
  852. 记住用户名cookie
  853. $uname=I(‘uname’);
  854.         if($jizhu==1){//记住状态
  855.             setcookie(‘uname’,$uname,time()+3600);
  856.         }
  857.                if($jizhu==2){//不记住状态
  858.             setcookie(‘uname’,$uname,time()-3600);
  859.         }
  860. <!———————把input的type属性改成tel,就会弹出输入法数字界面(手机使用)———————>
  861. <input type=“tel” id=“phone” name=“phone”>
  862. <!———————查看thinkphp版本,在页面上{$Think.version}———————>
  863. 查看php版本,后台方法里面加上 phpinfo(); 就可以在页面查看信息了
  864. <!———————获取客户端ip———————>
  865. getClientIp ()
  866. /**
  867.  * 获取客户端ip
  868.  *
  869.  * @return Ambigous <unknown, boolean>
  870.  */
  871. function getClientIp() {
  872.     $ip = false;
  873.     if (! empty ( $_SERVER [“HTTP_CLIENT_IP”] )) {
  874.         $ip = $_SERVER [“HTTP_CLIENT_IP”];
  875.     }
  876.     if (! empty ( $_SERVER [‘HTTP_X_FORWARDED_FOR’] )) {
  877.         $ips = explode ( “, “, $_SERVER [‘HTTP_X_FORWARDED_FOR’] );
  878.         if ($ip) {
  879.             array_unshift ( $ips, $ip );
  880.             $ip = FALSE;
  881.         }
  882.         for($i = 0; $i < count ( $ips ); $i ++) {
  883.             if (! eregi ( “^(10|172\.16|192\.168)\.”, $ips [$i] )) {
  884.                 $ip = $ips [$i];
  885.                 break;
  886.             }
  887.         }
  888.     }
  889.     return ($ip ? $ip : $_SERVER [‘REMOTE_ADDR’]);
  890. }
  891. <!———————点击删除,弹出框,是否确定删除———————>
  892. function gongchengquxiao(e){
  893.     if(!confirm(‘删除后无法恢复,确定删除?’))
  894.         return false;
  895.     $.ajax({
  896.         url:’__APP__/Home/Member/gongchengquxiao’,
  897.         type:’post’,
  898.         dataType:’json’,
  899.         data:{‘pid’:e},
  900.         success:function(data){
  901.             if(data.sta==1){
  902.                 ui.success(‘删除成功’);
  903.                 location.reload(“{:U(‘Home/Member/gongchengtijiao’)}”);
  904.             }else{
  905.                 ui.error(‘删除失败’);
  906.             }
  907.         }
  908.     });
  909. }
  910. <!———————验证性别不为空———————>
  911. <input type=“radio” value=“1” name=“sex” id=“sex_1” >
  912. <input type=“radio” value=“0” name=“sex” id=“sex_0”>
  913. if ($(“#sex_1:checked”).val()!= “1”&&$(“#sex_0:checked”).val()!= “0”) {
  914.         ui.error(“请选择性别!”);
  915.         return false;
  916.     }
  917. <!———————给上线的网页加logo(标题栏显示的logo)———————>
  918. 在根目录加名字是favicon.ico的图片就行
  919. <!———————百度统计———————>
  920. http://tongji.baidu.com/web/welcome/login  注册账号后就会得到一段代码,把那段代码放到页面就ok了
  921. (jksjksjks  123456)
  922. <!———————foreach套foreach———————>
  923. foreach ($channels as $k=>$v){
  924.             foreach ($v[‘bid’] as $k2=>$v2){
  925.                 $author=M(‘Goods’)->where(‘id=’.$v2[‘pid’])->getField(‘author‘);
  926.                     $v[‘bid’][$k2][‘author’]=$author;
  927.             }
  928.             $channels[$k][‘bid’]=$v[‘bid’];
  929.         }
  930. 普通的foreach()
  931. foreach ($bidArr[0][‘bid_list’] as $k=>$v){
  932.         $author=M(‘Goods’)->where(‘id=’.$v[‘pid’])->getField(‘author‘);
  933.         $bidArr[0][‘bid_list’][$k][‘author’]=$author;
  934.       }

织梦dedecms标签调用集合,史上最全,仿站必备

  1. <!——————————–分页——————————>
  2. {dede:pagelist listitem=“info,index,end,pre,next,pageno” listsize=“5”/}
  3. <!——————————–引入文件——————————>
  4. {dede:include filename=“head.htm”/}引入
  5. <!——————————–简介长度调用——————————>
  6. field:description function=’cn_substr(@me,200)’/]   list简介长度
  7. <!——————————–当前栏目调用——————————>
  8. {dede:field.typename/}
  9. <!——————————–内容页调用栏目名称跟链接————————>
  10. <a href=“{dede:field.typeurl/}”>{dede:field.typename/}</a>
  11. <!——————————–导航有英文  加下级文件——————————>
  12. {dede:channelartlist typeid=‘top’ currentstyle=‘active’ row=“6”}
  13.         <li class=“dropdown {dede:field.currentstyle/}”><a class=“dropdown-toggle” data-toggle=“dropdown” href=“{dede:field name=’typeurl’/}”>{dede:field name=‘typename’/}<small>{dede:field.typenameen/}</small></a>
  14.           <ul class=“dropdown-menu dropdown-menu-left”>
  15.             {dede:channel type=‘son’ noself=‘yes’}
  16.             <li><a href=“[field:typeurl/]”>[field:typename/]</a></li>
  17.             {/dede:channel}
  18.           </ul>
  19.         </li>
  20.         {/dede:channelartlist}
  21. <!——————————–自定义调用内容页——————————>
  22. channelid=“1”   addfields=‘body’
  23. [field:body/]
  24. <!———————一条红线———————>
  25. <p style=“border-bottom:2px solid red;width:100%;align:center;”></p>
  26. <!———————查询多个typeid———————>
  27. typeid=‘1,7,12,18,22,29’
  28. (1)某一id导航栏下的二级导航栏
  29. {dede:channel type=‘sun’ typeid=‘1’ row=‘8’ }
  30.      <li> <a id=“nav_zhoubian” href=“[field:typeurl/]” target=“_self” >[field:typename/]<i></i></a></li>
  31.       {/dede:channel}
  32. (2)表示指定单个栏目的链接 typeid指定栏目id
  33. {dede:type  typeid =’21’}
  34.                 <a href=“[field:typelink/]”>[field:typename/]</a>
  35.             {/dede:type}
  36. 栏目表dede_arctype
  37. (3)显示一级导航栏及二级导航栏
  38. {dede:channelartlist row=7  typeid=‘top’ orderby=“id” orderway=“asc”}
  39.                         <li {dede:field name=‘currentstyle’/}><a href=“{dede:field name=’typeurl’/}”>{dede:field name=‘typename’/}</a>
  40.                           <ul class=“sub”>
  41.                            {dede:channel type=‘son’ noself=‘yes’}
  42.                             <li class=“sub”><a class=“sub” href=“[field:typelink/]”>[field:typename/]</a></li>
  43.                             {/dede:channel}
  44.                           </ul>
  45.                         </li>
  46.                         {/dede:channelartlist}
  47. (4)当前栏目导航栏被选中状态
  48.      <ul>
  49.       <li class=“on”><a href=“/”>首页</a><br/><a href=“/” class=‘dd’>Home</a></li>
  50.       {dede:channel type=‘top’ row=’10’ currentstyle=”
  51.       <li class=‘hover’><a href=‘~typelink~’ ~rel~><span>~typename~</a><br/><a href=‘~typelink~’ class=‘dd’  ~rel~>~typenameen~</span></a></li>
  52.       “}
  53.       <li><a href=“[field:typeurl/]”>[field:typename/]</a><br />
  54.              <a href=“[field:typeurl/]” class=‘dd’>[field:typenameen/]</a></li>
  55.       {/dede:channel}
  56.     </ul>
  57. (5)当前栏目导航栏被选中状态2
  58.      {dede:channel type=‘sun’ row=‘5’ currentstyle=”
  59.       <li class=‘cur’><a href=‘~typelink~’ ~rel~>~typename~</a></li>
  60.       “}
  61.       <li><a href=“[field:typeurl/]”>[field:typename/]</a></li>
  62.       {/dede:channel}
  63. (6)显示一级导航栏及二级导航栏,并当前栏目导航栏被选中状态
  64. {dede:channelartlist row=8  typeid=‘top’ orderby=“id” orderway=“asc” currentstyle=“<li class=’active has-sub’>”}
  65.                         <li {dede:field name=‘currentstyle’/}><a href=“{dede:field name=’typeurl’/}”>{dede:field name=‘typename’/}</a>
  66.                           <ul>
  67.                            {dede:channel type=‘son’ noself=‘yes’}
  68.                             <li class=‘has-sub’><a href=“[field:typelink/]”>[field:typename/]</a></li>
  69.                             {/dede:channel}
  70.                           </ul>
  71.                         </li>
  72.                         {/dede:channelartlist}
  73. 或是这种写法
  74.  {dede:channelartlist typeid=‘top’ currentstyle=‘active’ row=“6”}
  75.         <li class=“dropdown {dede:field.currentstyle/}”><a class=“dropdown-toggle” data-toggle=“dropdown” href=“{dede:field name=’typeurl’/}”>{dede:field name=‘typename’/}<small>{dede:field.typenameen/}</small></a>
  76.           <ul class=“dropdown-menu dropdown-menu-left”>
  77.             {dede:channel type=‘son’ noself=‘yes’}
  78.             <li><a href=“[field:typeurl/]”>[field:typename/]</a></li>
  79.             {/dede:channel}
  80.           </ul>
  81.         </li>
  82.         {/dede:channelartlist}
  83. (7)显示一级导航栏及二级导航栏,当前栏目导航栏被选中状态,进入二级栏目时,一级栏目的导航栏也是选中状态
  84. dede_type表内,二级栏目的topid必须一级栏目的id
  85.   {dede:channelartlist typeid=‘top’ currentstyle=‘active’ row=“5”}
  86.         <li class=“dropdown {dede:field.currentstyle/}”><a class=“dropdown-toggle” data-toggle=“dropdown” href=“{dede:field name=’typeurl’/}”>{dede:field name=‘typename’/}<small>{dede:field.typenameen/}</small></a>
  87.           <ul class=“dropdown-menu dropdown-menu-left”>
  88.             {dede:channel type=‘son’ noself=‘yes’}
  89.             <li><a href=“[field:typeurl/]”>[field:typename/]</a></li>
  90.             {/dede:channel}
  91.           </ul>
  92.         </li>
  93.         {/dede:channelartlist}
  94. (8)显示某一顶级导航栏下的二级三级导航栏
  95.   {dede:channelartlist typeid=‘top’  typeid=’53’}
  96.                    <li><h3 ><a href='{dede:field name=’typeurl‘/}’ class=“depth_2”><span class=“icon10”></span>二级{dede:field name=‘typename’/}</a></h3>                  <ul>
  97.                           {dede:sql sql=‘Select * from dede_arctype where reid=~id~  ORDER BY id limit 00,20’}
  98.                           <li><a href=“[field:typedir function=’str_replace(“{cmspath}”,””,@me)’/]”  class=“depth_3”>三级[field:typename/]</a></li>
  99.                           {/dede:sql}
  100.                          </ul>
  101.                    </li>
  102.                   {/dede:channelartlist}
  103. (9)channelartlist指定导航栏的id输出
  104.  {dede:channelartlist  typeid=‘1,2,3,4,5’ }
  105.    <li class=“line”></li>
  106.    <li id=‘nav_1’ style=‘width:125px;’ ><a href='{dede:field name=’typeurl‘/}’ 0 title='{dede:field name=’typename‘/}’ class=‘hover-none nav’><span>{dede:field name=‘typename’/}</span></a>
  107.    <dl>
  108.     {dede:channel type=‘son’ noself=‘yes’ }
  109.    <dd><a href=‘[field:typelink/]’ title=‘[field:typename/]’ >[field:typename/]</a></dd>
  110.  {/dede:channel}
  111.    </dl>
  112.    </li>
  113.      {/dede:channelartlist}
  114. (10)输出某一级栏目下的二级栏目,及二级栏目下的几条文章
  115. {dede:channelartlist typeid=“20”}
  116.     <a href=“{dede:field name=’typeurl’/}”>{dede:field name=‘typename’/}
  117.     {dede:arclist row=“8”}<a href=“[field:arcurl/]”>[field:title /]</a>{/dede:arclist}
  118. {/dede:channelartlist}
  119. <!———————arclist显示某分类的前5条新闻  flag=’c’即推荐  列表也显示body数据———————>
  120. {dede:arclist typeid=“24” channelid=“1” addfields=‘body’ titlelen=’45’ row=“5” flag=‘c’}
  121.     <div class=“news”>
  122. <img src=“[field:litpic/]” alt=“[field:title/]” />
  123. <img src=“[field:picname/]” />
  124. [field:global name=autoindex runphp=“yes”]@me=@me;[/field:global]
  125. <a href=‘[field:typeurl/]’>[field:typename/]</a>
  126.     <a style=“float:left” href=“[field:arcurl/]” target=“_blank”>[field:title/]</a>
  127. [field:description function=‘cn_substr(html2text(@me),2)’/]
  128. [field:description function=‘cn_substr(Html2text(“@me”).”…”,80)’/]
  129. [field:body function=‘cn_substr(html2text(@me),200)’/]
  130. [field:title function=‘( strlen(“@me”)>42 ? cn_substr(“@me”,42).”…” : “@me” ) ‘ /]
  131.     <span style=“float:right”>
  132.         [field:pubdate function=“MyDate(‘Y-m-d’,@me)”/]
  133.         [field:pubdate function=‘strftime(“%b %d, %Y”,@me)’/]
  134.                 [field:pubdate function=strftime(‘%Y-%m-%d’,@me)/]
  135.                 [field:pubdate function=“GetDateTimeMK(@me)”/]
  136.        </span>
  137.     </div>
  138.     {/dede:arclist}
  139. 文章详细页/*文章浏览数*/
  140. <script src=”{dede:field name=’phpurl’/}/count.php?view=yes&aid={dede:field name=’id’/}&mid={dede:field name=’mid’/}”type=’text/javascript’ language=“javascript”></script>
  141. 指定文章id输出
  142. {dede:arclist idlist=‘2’ titlelen=’50’}
  143.         <li>
  144.             <div class=“image”><a href=“[field:arcurl/]”><img src=“[field:litpic/]” /></a></div>
  145.             <div class=“text”>
  146.                 <span class=“title”>NEWS:</span>
  147.                 <p><a href=“[field:arcurl/]”>[field:title/]…</a></p>
  148.             </div>
  149.             <a class=“link link2” href=“[field:arcurl/]”>关于我们</a>
  150.         </li>
  151.     {/dede:arclist}
  152. 根据当前typeid输出
  153. {dede:arclist type=“~typeid~”  titlelen=’51’ row=10 orderby=‘sortrank’ }
  154.                     <div class=“single-grid inner_show”>
  155.                         <div class=“lone-line”>
  156.                             <h4><a href=“[field:arcurl/]” target=“_blank”>[field:title/]</a></h4>
  157.                             <ul class=“sin-grid”>
  158.                                 <li><a href=“[field:arcurl/]”><span class=“clock”> </span>[field:pubdate function=MyDate(‘Y-m-d’,@me)/]</a></li>
  159.                                 <!–<li><a href=”[field:arcurl/]”><span class=”share”> </span>集团要闻</a></li>———————>
  160.                             </ul>
  161.                         </div>
  162.                     </div>
  163. {/dede:arclist}
  164. 显示自定义的arclist的字段,加channelid 加addfields字段
  165. {dede:arclist pagesize=’12’ typeid=’10’ channelid=‘2’ addfields=‘wuxing,shuzi,ptitle,palt,tlink’}
  166. {/dede:arclist}
  167. <!———————分页显示新闻———————>
  168.  <div class=“xinwen_box”>
  169.                         {dede:list pagesize=‘6’ titlelen=’36’}
  170.                             <div class=“lie-box”>
  171.                                 <a href=“[field:arcurl/]” >
  172.                                     <p class=“xw-lt”>
  173.                                         [field:title/]
  174.                                     </p>
  175.                                 </a>
  176.                             </div>
  177.                          {/dede:list}
  178.                             <div class=“pages”> {dede:pagelist listitem=“index,end,pre,next,pageno” listsize=“7”/} </div>
  179.                         </div>
  180. <!———————{dede:global.cfg_sj/}显示系统的数据调用sysconfig表里的数据———————>
  181. <!———————sql语句调用数据———————>
  182. 查询栏目内容
  183. {dede:sql sql=‘Select content from “#@__arctype” where id=1’}
  184. [field:content/]
  185. {/dede:sql}
  186. 查询文章
  187. {dede:sql sql=“SELECT * FROM dede_archives where typeid2 in(13,14,15,16,17,18) and typeid=6 order by pubdate DESC limit 5 “}
  188.      <li><a href='[field:id runphp=’yes’] $id=@me;@me=”;$url=GetOneArchive($id);@me=$url[‘arcurl‘];[/field:id]’ title=“[field:title/]” target=“_blank”><b>[field:title function=cn_substr(@me,60)/]</b></a></li>
  189. {/dede:sql}
  190. 查询栏目
  191. {dede:sql sql=”SELECT * From #@__arctype
  192. WHERE topid=1 And letter LIKE ‘%a%’ or letter LIKE ‘%b’ or letter LIKE ‘%c%’ order by letter asc”}
  193.  <li><a href=“[field:typedir function=’str_replace(“{cmspath}”,””,@me)’/]”>[field:typename/]</a></li>
  194. {/dede:sql}
  195. <!———————根据typeid输出数据———————>
  196. {dede:type type=“~typeid~”}[field:typename/]{/dede:type}
  197. <!———————设置[field:description/]的字数———————>
  198. [field:description function=‘cn_substr(Html2text(“@me”).”…”,80)’/]
  199. <!———————当前位置———————>
  200. {dede:field name=‘position’/}
  201. 英文版
  202. {dede:field name=‘position’  function=‘str_replace(“首页”,”Home”,Html2Text(“@me”))’/}
  203. <!———————调用共用页面———————>
  204. {dede:include filename=“footer.htm”/}
  205. <!———————ShowMsg()跳转到哪个页面———————>
  206. <!———————文章详细页,输出图片集的所有图片———————>
  207. (输出所有)
  208. {dede:productimagelist}
  209.    <li class=“now”> <a href=“[field:imgsrc/]” target=“_blank”><img longdesc=“[field:imgsrc/]” src=“[field:imgsrc/]” width=“96” height=“76”></a> </li>
  210. {/dede:productimagelist}
  211. (输出第一张)
  212. {dede:field name=‘imgurls’ alt=‘图片输出区’}
  213.                   <a class=“jqzoom” href=“[field:imgsrc/]”> <img src=“[field:imgsrc/]” alt=“” class=“js_goods_image_url” style=“width: 520px;” /> </a>
  214.                   {/dede:field}
  215. <!———————热门标签———————>
  216. 参数说明:
  217. num:关键词数目
  218. subday:天数
  219. maxlength:关键词最大长度
  220. {dede:hotwords num=‘6’ /}
  221. //页面输出内容:
  222. <a href=‘/plus/search.php?keyword=ibm’>ibm</a>
  223. <a href=‘/plus/search.php?keyword=htc’>htc</a>
  224. <a href=‘/plus/search.php?keyword=dedecms’>dedecms</a>
  225. <!———————搜索———————>
  226. <form  name=“formsearch” action=“{dede:global.cfg_cmsurl/}/plus/search.php” autocomplete=“off”>
  227.         <div class=“form”>
  228.           <h4>搜索</h4>
  229.            <input type=“hidden” name=“kwtype” value=“0” />
  230.            <input name=“q” type=“text” class=“search-keyword” id=“search-keyword” placeholder=“在这里搜索…” value=“在这里搜索…” onfocus=“if(this.value==’在这里搜索…’){this.value=”;}”  onblur=“if(this.value==”){this.value=’在这里搜索…’;}” />
  231. <input type=“text”  autocomplete=“off” name=“q” id=“searchkey” placeholder=“在这里搜索…”  maxlength=“60” onfocus=”if (value ==’在这里搜索…’){value =”}”onblur=”if (value ==”){value=‘在这里搜索…’}”>
  232.            <select name=“searchtype” class=“search-option” id=“search-option”>
  233.                <option value=“title” selected=‘1’>检索标题</option>
  234.                <option value=“titlekeyword”>智能模糊</option>
  235.            </select>
  236.           <button type=“submit” class=“search-submit”>搜索</button>
  237.         </div>
  238.         </form>
  239. form禁止enter键提交最后面加上 onkeydown=“if(event.keyCode==13)return false;”
  240. <form name=“formsearch” action=“{dede:global.cfg_cmsurl/}/plus/search.php”  onkeydown=“if(event.keyCode==13)return false;”>
  241. <form action=“” autocomplete=“off” method=“post”>//autocomplete=“off”  清空数据
  242. echo “<script>alert(‘提交成功!’); window.history.go(-1)</script>“;//返回当前页
  243. 15.指定id加class
  244. $(function(){
  245.             $(“#7”).addClass(“active”);
  246.         })
  247. <!———————文章详细页跳转到列表页———————>
  248. <a href=“{dede:type typeid=’0′ row=1}[field:typelink function=’str_replace(“/index.html”,””,@me)’ /]{/dede:type}” class=“btn btn-default”>全部</a>
  249. 17.当前是首页的话,导航栏首页高亮效果
  250. <li {dede:field name=typeid runphp=“yes”}(@me==””)? @me=”   class=’on’  “:@me=“”;{/dede:field}>首页</li>

常用css样式属性大全(中文注释)

  1. 一 CSS文字属性:
  2. color : #999999/*文字颜色*/
  3. font-family : 宋体,sans-serif/*文字字体*/
  4. font-size : 9pt/*文字大小*/
  5. font-style:itelic; /*文字斜体*/
  6. font-variant:small-caps; /*小字体*/
  7. letter-spacing : 1pt/*字间距离*/
  8. line-height : 200%; /*设置行高*/
  9. font-weight:bold/*文字粗体*/
  10. vertical-align:sub/*下标字*/
  11. vertical-align:super/*上标字*/
  12. text-decoration:line-through/*加删除线*/
  13. text-decorationoverline/*加顶线*/
  14. text-decoration:underline/*加下划线*/
  15. text-decoration:none/*删除链接下划线*/
  16. text-transform : capitalize/*首字大写*/
  17. text-transform : uppercase/*英文大写*/
  18. text-transform : lowercase/*英文小写*/
  19. text-align:rightright/*文字右对齐*/
  20. text-align:left/*文字左对齐*/
  21. text-align:center/*文字居中对齐*/
  22. text-align:justify/*文字分散对齐*/
  23. vertical-align属性
  24. vertical-align:top/*垂直向上对齐*/
  25. vertical-align:bottombottom/*垂直向下对齐*/
  26. vertical-align:middle/*垂直居中对齐*/
  27. vertical-align:text-top/*文字垂直向上对齐*/
  28. vertical-align:text-bottom/*文字垂直向下对齐*/
  29. 二、CSS边框空白
  30. padding-top:10px/*上边框留空白*/
  31. padding-right:10px/*右边框留空白*/
  32. padding-bottom:10px/*下边框留空白*/
  33. padding-left:10px/*左边框留空白
  34. 三、CSS符号属性
  35. list-style-type:none; /*不编号*/
  36. list-style-type:decimal/*阿拉伯数字*/
  37. list-style-type:lower-roman/*小写罗马数字*/
  38. list-style-type:upper-roman/*大写罗马数字*/
  39. list-style-type:lower-alpha/*小写英文字母*/
  40. list-style-type:upper-alpha/*大写英文字母*/
  41. list-style-type:disc/*实心圆形符号*/
  42. list-style-type:circle/*空心圆形符号*/
  43. list-style-type:square/*实心方形符号*/
  44. list-style-image:url(/dot.gif); /*图片式符号*/
  45. list-style-positionoutside/*凸排*/
  46. list-style-position:inside/*缩进*/
  47. 四、CSS背景样式
  48. background-color:#F5E2EC/*背景颜色*/
  49. background:transparent/*透视背景*/
  50. background-image : url(/image/bg.gif); /*背景图片*/
  51. background-attachment : fixed/*浮水印固定背景*/
  52. background-repeat : repeat/*重复排列-网页默认*/
  53. background-repeat : no-repeat/*不重复排列*/
  54. background-repeat : repeat-x; /*在x轴重复排列*/
  55. background-repeat : repeat-y; /*在y轴重复排列*/
  56. 指定背景位置
  57. background-position : 90% 90%; /*背景图片x与y轴的位置*/
  58. background-position : top/*向上对齐*/
  59. background-position : buttom; /*向下对齐*/
  60. background-position : left/*向左对齐*/
  61. background-position : rightright/*向右对齐*/
  62. background-position : center/*居中对齐*/
  63. 五、CSS连接属性
  64. /*所有超链接*/
  65. a:link /*超链接文字格式*/
  66. a:visited /*浏览过的链接文字格式*/
  67. a:active /*按下链接的格式*/
  68. a:hover /*鼠标转到链接*/
  69. 鼠标光标样式:
  70. 链接手指 CURSOR: hand
  71. 十字体 cursor:crosshair
  72. 箭头朝下 cursor:s-resize
  73. 十字箭头 cursor:move
  74. 箭头朝右 cursor:move
  75. 加一问号 cursor:help
  76. 箭头朝左 cursor:w-resize
  77. 箭头朝上 cursor:n-resize
  78. 箭头朝右上 cursor:ne-resize
  79. 箭头朝左上 cursor:nw-resize
  80. 文字I型 cursor:text
  81. 箭头斜右下 cursor:se-resize
  82. 箭头斜左下 cursor:sw-resize
  83. 漏斗 cursor:wait
  84. 光标图案(IE6)   p {cursor:url(“光标文件名.cur”),text;}
  85. 六、CSS框线一览表
  86. border-top : 1px solid #6699cc/*上框线*/
  87. border-bottom : 1px solid #6699cc/*下框线*/
  88. border-left : 1px solid #6699cc/*左框线*/
  89. border-right : 1px solid #6699cc/*右框线*/
  90. 以上是建议书写方式,但也可以使用常规的方式 如下:
  91. border-topcolor : #369 /*设置上框线top颜色*/
  92. border-topwidth :1px /*设置上框线top宽度*/
  93. border-top-style : solid/*设置上框线top样式*/
  94. 其他框线样式
  95. solid /*实线框*/
  96. dotted /*虚线框*/
  97. double /*双线框*/
  98. groove /*立体内凸框*/
  99. ridge /*立体浮雕框*/
  100. inset /*凹框*/
  101. outset /*凸框*/
  102. 七、CSS表单运用
  103. 文字方块
  104. 按钮
  105. 复选框
  106. 选择钮
  107. 多行文字方块
  108. 下拉式菜单 选项1选项2
  109. 八、CSS边界样式
  110. margin-top:10px/*上边界*/
  111. margin-right:10px/*右边界值*/
  112. margin-bottom:10px/*下边界值*/
  113. margin-left:10px/*左边界值*/
  114. 九、CSS滤镜属性
  115. Filter:在样式中加上滤镜特效。由于此属性内容比较多,我们将到下一章单独对滤镜介绍。
  116. 1.Alpha:设置透明度
  117. Alpha(Opacity=?, FinishOpacity=?, Style=?, StartX=?, StartY=?, FinishX=?, FinishY=?)
  118. Opacity:透明度级别,范围是0-100,0代表完全透明,100代表完全不透明。FinishOpacity:设置渐变的透明效果时,用来指定结束时的透明度,范围也是0 到 100。Style:设置渐变透明的样式,值为0代表统一形状、1代表线形、2代表放射状、3代表长方形。StartX和StartY:代表渐变透明效果的开始X和Y坐标。 FinishX和FinishY:代表渐变透明效果结束X和Y 的坐标。
  119. 2.BlendTrans:图像之间的淡入和淡出的效果
  120. BlendTrans(Duration=?) Duration:淡入或淡出的时间。注意:这个滤镜必须配合JS建立图片序列,才能做出图片间效果。
  121. 3.Blru:建立模糊效果
  122. Blur(Add=?, Direction=?, Strength=?) Add:是否单方向模糊,此参数是一个布尔值,true(非0)或false(0)。 Direction:设置模糊的方向,其中0度代表垂直向上,然后每45度为一个单位。 Strength:代表模糊的象素值。
  123. 4.Chroma:把指定的颜色设置为透明
  124. Chroma(Color=?) Color:是指要设置为透明的颜色。
  125. 5.DropShadow:建立阴影效果
  126. DropShadow(Color=?, OffX=?, OffY=?, Positive=?) Color:指定阴影的颜色。OffX:指定阴影相对于元素在水平方向偏移量,整数。 OffY:指定阴影相对于元素在垂直方向偏移量,整数。 Positive:是一个布尔值,值为true(非0)时,表示为建立外阴影;为false(0),表示为建立内阴影。
  127. 6.FlipH:将元素水平反转
  128. 7.FlipV:将元素垂直反转
  129. 8.Glow:建立外发光效效果
  130. Glow(Color=?, Strength=?)
  131. Color:是指定发光的颜色。
  132. Strength:光的强度,可以是1到255之间的任何整数,数字越大,发光的范围就越大。
  133. 9.Gray:去掉图像的色彩,显示为黑白图象
  134. 10.  Invert:反转图象的颜色,产生类似底片的效果
  135. 11.  Light:放置光源的效果,可以用来模拟光源在物体上的投影效果 注意:此效果需要用JS设置光的位置和强度。
  136. 12.  Mask:建立透明遮罩
  137. Mask(Color=?) Color:设置底色,让对象遮住底色的部分透明。
  138. 13.  RevealTrans:建立切换效果
  139. RevealTrans(Duration=?, Transition=?)
  140. Duration:是切换时间,以秒为单位。
  141. Transtition:是切换方式,可设置为从0到23。
  142. 注意:如果做页面间的切换效果,可以在<head>区加上一行代码:<Meta http-equiv=Page-enter content=revealTrans(Transition=?,Duration=?) >。如果用在页面里的元素必须配合JS使用。
  143. 14.  Shadow:建立另一种阴影效果 Shadow(Color=?, Direction=?) Color:是指阴影的颜色。
  144. Direction:是设置投影的方向,0度代表垂直向上,然后每45度为一个单位。
  145. 15.  Wave:波纹效果
  146. Wave(Add=?, Freq=?, LightStrength=?, Phase=?, Strength=?) Add:表示是否显示原对象,0表示不显示,非0表示要显示原对象。 Freq:设置波动的个数。LightStrength:设置波浪效果的光照强度,从0到100。0表示最弱,100表示最强。 Phase:波浪的起始相角。从0到100的百分数值。(例如:25相当于90度,而50相当于180度。) Strength:设置波浪摇摆的幅度。
  147. 16.  Xray:显现图片的轮廓,X光片效果
  148. 注意:在使用CSS滤镜时,必须使用在有区域的元素,比如表格,图片等。而文本,段落这样没有区域的元素不能使用CSS滤镜,对这样的元素我们可以设置元素的Height和Width样式或坐标来实现。”

css样式大全(整理版)

  1. 字体属性:(font)
  2. 大小 {font-sizex-large;}(特大) xx-small;(极小) 一般中文用不到,只要用数值就可以,单位:PX、PD
  3. 样式 {font-styleoblique;}(偏斜体) italic;(斜体) normal;(正常)
  4. 行高 {line-heightnormal;}(正常) 单位:PX、PD、EM
  5. 粗细 {font-weightbold;}(粗体) lighter;(细体) normal;(正常)
  6. 变体 {font-variantsmall-caps;}(小型大写字母) normal;(正常)
  7. 大小写 {text-transformcapitalize;}(首字母大写) uppercase;(大写) lowercase;(小写) none;(无)
  8. 修饰 {text-decorationunderline;}(下划线) overline;(上划线) line-through;(删除线) blink;(闪烁)
  9. 常用字体: (font-family)
  10. “Courier New”, Courier, monospace“Times New Roman”, Times, serifArialHelveticasans-serifVerdana
  11. 背景属性: (background)
  12. 色彩 {background-color#FFFFFF;}
  13. 图片 {background-imageurl();}
  14. 重复 {background-repeatno-repeat;}
  15. 滚动 {background-attachmentfixed;}(固定) scroll;(滚动)
  16. 位置 {background-positionleft;}(水平) top(垂直);
  17. 简写方法 {background:#000 url(..) repeat fixed left top;} /*简写·这个在阅读代码中经常出现,要认真的研究*/
  18. 区块属性: (Block) /*这个属性第一次认识,要多多研究*/
  19. 字间距 {letter-spacingnormal;} 数值 /*这个属性似乎有用,多实践下*/
  20. 对齐 {text-alignjustify;}(两端对齐) left;(左对齐) rightright;(右对齐) center;(居中)
  21. 缩进 {text-indent: 数值px;}
  22. 垂直对齐 {vertical-alignbaselinebaseline;}(基线) sub;(下标) super;(下标) toptext-topmiddlebottombottomtext-bottom;
  23. 词间距word-spacingnormal; 数值
  24. 空格whitewhite-spacepre;(保留) nowrap;(不换行)
  25. 显示 {display:block;}(块) inline;(内嵌) list-item;(列表项) run-in;(追加部分) compact;(紧凑) marker;(标记) table; inline-table; table-raw-group; table-header-grouptable-footer-group; table-raw; table-column-group; table-columntable-celltable-caption;(表格标题) /*display 属性的了解很模糊*/
  26. 方框属性: (Box)
  27. width:; height:; float:; clear:bothmargin:; padding:; 顺序:上右下左
  28. 边框属性: (Border)
  29. border-styledotted;(点线) dashed;(虚线) soliddouble;(双线) groove;(槽线) ridge;(脊状) inset;(凹陷) outset;
  30. border-width:; 边框宽度
  31. border-color:#;
  32. 简写方法borderwidth style color/*简写*/
  33. 列表属性: (List-style)
  34. 类型list-style-typedisc;(圆点) circle;(圆圈) square;(方块) decimal;(数字) lower-roman;(小罗码数字) upper-romanlower-alphaupper-alpha;
  35. 位置list-style-positionoutside;(外) inside;
  36. 图像list-style-imageurl(..);
  37. 定位属性: (Position)
  38. Position: absoluterelativestatic;
  39. visibility: inherit; visiblehidden;
  40. overflowvisiblehiddenscrollauto;
  41. clip: rect(12px,auto,12px,auto) (裁切)
  42. css属性代码大全
  43. 一 CSS文字属性:
  44. color : #999999/*文字颜色*/
  45. font-family : 宋体,sans-serif/*文字字体*/
  46. font-size : 9pt/*文字大小*/
  47. font-style:itelic; /*文字斜体*/
  48. font-variant:small-caps; /*小字体*/
  49. letter-spacing : 1pt/*字间距离*/
  50. line-height : 200%; /*设置行高*/
  51. font-weight:bold/*文字粗体*/
  52. vertical-align:sub/*下标字*/
  53. vertical-align:super/*上标字*/
  54. text-decoration:line-through/*加删除线*/
  55. text-decorationoverline/*加顶线*/
  56. text-decoration:underline/*加下划线*/
  57. text-decoration:none/*删除链接下划线*/
  58. text-transform : capitalize/*首字大写*/
  59. text-transform : uppercase/*英文大写*/
  60. text-transform : lowercase/*英文小写*/
  61. text-align:rightright/*文字右对齐*/
  62. text-align:left/*文字左对齐*/
  63. text-align:center/*文字居中对齐*/
  64. text-align:justify/*文字分散对齐*/
  65. vertical-align属性
  66. vertical-align:top/*垂直向上对齐*/
  67. vertical-align:bottombottom/*垂直向下对齐*/
  68. vertical-align:middle/*垂直居中对齐*/
  69. vertical-align:text-top/*文字垂直向上对齐*/
  70. vertical-align:text-bottom/*文字垂直向下对齐*/
  71. 二、CSS边框空白
  72. padding-top:10px/*上边框留空白*/
  73. padding-right:10px/*右边框留空白*/
  74. padding-bottom:10px/*下边框留空白*/
  75. padding-left:10px/*左边框留空白
  76. 三、CSS符号属性:
  77. list-style-type:none; /*不编号*/
  78. list-style-type:decimal/*阿拉伯数字*/
  79. list-style-type:lower-roman/*小写罗马数字*/
  80. list-style-type:upper-roman/*大写罗马数字*/
  81. list-style-type:lower-alpha/*小写英文字母*/
  82. list-style-type:upper-alpha/*大写英文字母*/
  83. list-style-type:disc/*实心圆形符号*/
  84. list-style-type:circle/*空心圆形符号*/
  85. list-style-type:square/*实心方形符号*/
  86. list-style-image:url(/dot.gif); /*图片式符号*/
  87. list-style-positionoutside/*凸排*/
  88. list-style-position:inside/*缩进*/
  89. 四、CSS背景样式:
  90. background-color:#F5E2EC/*背景颜色*/
  91. background:transparent/*透视背景*/
  92. background-image : url(/image/bg.gif); /*背景图片*/
  93. background-attachment : fixed/*浮水印固定背景*/
  94. background-repeat : repeat/*重复排列-网页默认*/
  95. background-repeat : no-repeat/*不重复排列*/
  96. background-repeat : repeat-x; /*在x轴重复排列*/
  97. background-repeat : repeat-y; /*在y轴重复排列*/
  98. 指定背景位置
  99. background-position : 90% 90%; /*背景图片x与y轴的位置*/
  100. background-position : top/*向上对齐*/
  101. background-position : buttom; /*向下对齐*/
  102. background-position : left/*向左对齐*/
  103. background-position : rightright/*向右对齐*/
  104. background-position : center/*居中对齐*/
  105. 五、CSS连接属性:
  106. /*所有超链接*/
  107. a:link /*超链接文字格式*/
  108. a:visited /*浏览过的链接文字格式*/
  109. a:active /*按下链接的格式*/
  110. a:hover /*鼠标转到链接*/
  111. 鼠标光标样式:
  112. 链接手指 CURSOR: hand
  113. 十字体 cursor:crosshair
  114. 箭头朝下 cursor:s-resize
  115. 十字箭头 cursor:move
  116. 箭头朝右 cursor:move
  117. 加一问号 cursor:help
  118. 箭头朝左 cursor:w-resize
  119. 箭头朝上 cursor:n-resize
  120. 箭头朝右上 cursor:ne-resize
  121. 箭头朝左上 cursor:nw-resize
  122. 文字I型 cursor:text
  123. 箭头斜右下 cursor:se-resize
  124. 箭头斜左下 cursor:sw-resize
  125. 漏斗 cursor:wait
  126. 光标图案(IE6) p {cursor:url(“光标文件名.cur”),text;}
  127. 六、CSS框线一览表:
  128. border-top : 1px solid #6699cc/*上框线*/
  129. border-bottom : 1px solid #6699cc/*下框线*/
  130. border-left : 1px solid #6699cc/*左框线*/
  131. border-right : 1px solid #6699cc/*右框线*/
  132. 以上是建议书写方式,但也可以使用常规的方式 如下:
  133. border-topcolor : #369 /*设置上框线top颜色*/
  134. border-topwidth :1px /*设置上框线top宽度*/
  135. border-top-style : solid/*设置上框线top样式*/
  136. 其他框线样式
  137. solid /*实线框*/
  138. dotted /*虚线框*/
  139. double /*双线框*/
  140. groove /*立体内凸框*/
  141. ridge /*立体浮雕框*/
  142. inset /*凹框*/
  143. outset /*凸框*/
  144. 七、CSS表单运用:
  145. 文字方块
  146. 按钮
  147. 复选框
  148. 选择钮
  149. 多行文字方块
  150. 下拉式菜单 选项1选项2
  151. 八、CSS边界样式:
  152. margin-top:10px/*上边界*/
  153. margin-right:10px/*右边界值*/
  154. margin-bottom:10px/*下边界值*/
  155. margin-left:10px/*左边界值*/
  156. CSS 属性: 字体样式(Font Style)
  157. 序号 中文说明 标记语法
  158. 1 字体样式 {font:font-style font-variant font-weight font-size font-family}
  159. 2 字体类型 {font-family:“字体1”,“字体2”,“字体3”,…}
  160. 3 字体大小 {font-size:数值|inherit| mediumlargelargerx-largexx-largesmallsmallerx-smallxx-small}
  161. 4 字体风格 {font-style:inherit|italic|normal|oblique}
  162. 5 字体粗细 {font-weight:100-900|bold|bolder|lighter|normal;}
  163. 6 字体颜色 {color:数值;}
  164. 7 阴影颜色 {text-shadow:16位色值}
  165. 8 字体行高 {line-height:数值|inherit|normal;}
  166. 9 字 间 距 {letter-spacing:数值|inherit|normal}
  167. 10 单词间距 {word-spacing:数值|inherit|normal}
  168. 11 字体变形 {font-variant:inherit|normal|small-cps }
  169. 12 英文转换 {text-transform:inherit|none|capitalize|uppercase|lowercase}
  170. 13 字体变形 {font-size-adjust:inherit|none}
  171. 14 字体 {font-stretch:condensed|expanded|extra-condensed|extra-expanded|inherit|narrower|normalsemi-condensed|semi-expanded|ultra-condensed|ultra-expanded|wider}
  172. 文本样式(Text Style)
  173. 序号 中文说明 标记语法
  174. 1 行 间 距 {line-height:数值|inherit|normal;}
  175. 2 文本修饰 {text-decoration:inherit|none|underline|overline|line-through|blink}
  176. 3 段首空格 {text-indent:数值|inherit}
  177. 4 水平对齐 {text-align:left|rightright|center|justify}
  178. 5 垂直对齐 {vertical-align:inherit|top|bottombottom|text-top|text-bottom|baselinebaseline|middle|sub|super}
  179. 6 书写方式 {writing-mode:lr-tb|tb-rl}
  180. 背景样式
  181. 序号 中文说明 标记语法
  182. 1 背景颜色 {background-color:数值}
  183. 2 背景图片 {background-imageurl(URL)|none}
  184. 3 背景重复 {background-repeat:inherit|no-repeat|repeat|repeat-x|repeat-y}
  185. 4 背景固定 {background-attachment:fixed|scroll}
  186. 5 背景定位 {background-position:数值|top|bottombottom|left|rightright|center}
  187. 6 背影样式 {background:背景颜色|背景图象|背景重复|背景附件|背景位置}
  188. 框架样式(Box Style)
  189. 序号 中文说明 标记语法
  190. 1 边界留白 {margin:margin-top margin-right margin-bottom margin-left}
  191. 2 补  白 {padding:padding-top padding-right padding-bottom padding-left}
  192. 3 边框宽度 {border-width:border-topwidth border-rightwidth border-bottomwidth border-leftwidth}
  193. 宽度值: thin|medium|thick|数值
  194. 4 边框颜色 {border-color:数值 数值 数值 数值}  数值:分别代表toprightrightbottombottomleft颜色值
  195. 5 边框风格 {border-style:none|hidden|inherit|dashed|solid|double|inset|outset|ridge|groove}
  196. 6 边  框 {border:border-width border-style color}
  197. 上 边 框 {border-top:border-topwidth border-style color}
  198. 右 边 框 {border-right:border-rightwidth border-style color}
  199. 下 边 框 {border-bottom:border-bottomwidth border-style color}
  200. 左 边 框 {border-left:border-leftwidth border-style color}
  201. 7 宽  度 {width:长度|百分比| auto}
  202. 8 高  度 {height:数值|auto}
  203. 9 漂  浮 {float:left|rightright|none}
  204. 10 清  除 {clear:none|left|rightright|both}
  205. 分类列表
  206. 序号 中文说明 标记语法
  207. 1 控制显示 {display:none|block|inline|list-item}
  208. 2 控制空白 {whitewhite-space:normal|pre|nowarp}
  209. 3 符号列表 {list-style-type:disc|circle|square|decimal|lower-roman|upper-roman|lower-alpha|upper-alpha|none}
  210. 4 图形列表 {list-style-image:URL}
  211. 5 位置列表 {list-style-position:inside|outside}
  212. 6 目录列表 {list-style:目录样式类型|目录样式位置|url}
  213. 7 鼠标形状 {cursor:hand|crosshair|text|wait|move|help|e-resize|nw-resize|w-resize|s-resize|se-resize|sw-resize}

SSL开启以后百度分享不支持HTTPS

今天开拓者博客开启HTTPS后发现百度分享由于不支持HTTPS导致浏览器地址栏出现感叹号!提示”连接不安全“or“你与此网站建立的连接不安全”等提示信息。

后来,经过在网上查了一下资料,查到的答案是只要开启HTTPS网页中不可以出现HTTP的链接!否则机会如下显示:

所以我们必须修正它,不过好在已经有人处理了这个问题,所以我们直接做伸手党就行了。分享教程如下:

百度云盘:http://pan.baidu.com/s/1eRMzJwA

密码:it7c

下载解压得到static文件夹,上传至网站根目录,切记是根目录。然后修改我们引用的js即可修改成:

 

解决WordPress开启HTTPS后图片不能正常加载的问题

Nginx开启了Https支持,但是在Https打开网页的时候,发现,图片都不能正常的显示出来,看了一下源代码,发现是网页中的图片链接都被写成了HTTP的,导致浏览器出于安全的原因,不再加载图片,导致效果很差,因此需要WordPress同时支持HTTP,HTTPS。

找到当前主题下的 functions.php 文件,编辑之,在里边代码的末尾追加如下代码:

 

 

wordpress网站提示“建立数据库连接时出错”

wordpress网站提示“建立数据库连接时出错”这个问题用过wordpress的博主应该都会碰到这个问题。前段时间由于升级了数据库跟PHP版本导致wordpress经常提示数据库出错导致整个服务器都会卡死。服务器内的网站全部打不开!在网上也搜集了很多的关于‘wordpress网站提示“建立数据库连接时出错’同样的问题,但是答案各有差异。最终也没能修复好。

最后得知其实,WordPress 内置了一个优化和修复数据库的工具,它既可以应用于 MyISAM 数据表,也可以应用于 InnoDB 数据表。要开启这个工具很简单,在网站根目录下的 wp-config.php 文件的“/* 好了!请不要再继续编辑。请保存本文件。使用愉快! */”前面,添加下面的代码即可:

然后访问如下地址即可访问到该工具:

修复

果然报错~~~

出现报错的话,错误已经很明显了!去修复数据库,修复站下所有的数据表。

OK!在去运行修复wordpress的工具!是不是提示如下:

大功告成!最后别忘了到配置文件删除:define(‘WP_ALLOW_REPAIR’, true);

百度蜘蛛比较喜欢的链接样式

下边列出了部分URL样式,请大家参考。如果你有好的URL样式,请跟帖分享给大家

http://www.{顶级域名}/{随机字符}/

http://www.{顶级域名}/{年}{月}{日}_{随机数字}.html

http://{随机字符}.{顶级域名}/{随机数字}/

http://{随机数字}.{顶级域名}/{随机字符}/

http://{随机字符}.{随机域名}/{随机数字}/

http://{随机数字}.{随机域名}/{随机字符}/

http://{随机域名}/{随机数字}.html

http://{随机域名}/{随机字符}.html

http://{顶级域名}/{随机数字}.html

http://{顶级域名}/{随机字符}.html

http://{顶级域名}/{随机字符}/

http://{顶级域名}/{随机数字}/

http://{顶级域名}/{年}{月}{日}.html

http://{顶级域名}/{年}{月}{日}/

http://{随机域名}/{年}{月}{日}/

http://{随机域名}/{年}{月}{日}.html

http://{随机字符}.{顶级域名}/{年}{月}{日}.html

http://{随机数字}.{顶级域名}/{年}{月}{日}.html

http://{随机字符}.{随机域名}/{年}{月}{日}.html

http://{随机数字}.{随机域名}/{年}{月}{日}.html

http://{随机字符}.{顶级域名}/{年}{月}{日}/

http://{随机数字}.{顶级域名}/{年}{月}{日}/

http://www.{随机域名}/{随机字符}/

http://www.{随机域名}/{年}{月}{日}_{随机数字}.html

http://bbs.{随机域名}/{随机字符}/

http://bbs.{随机域名}/{年}{月}{日}_{随机数字}.html

http://bbs.{顶级域名}/{随机字符}/

http://bbs.{顶级域名}/{年}{月}{日}_{随机数字}.html

http://blog.{顶级域名}/{随机字符}/

http://blog.{顶级域名}/{年}{月}{日}_{随机数字}.html

http://{当前域名}/{年}{月}{日}_{随机数字}.html

http://{当前域名}/{随机字符}/

http://{当前域名}/{随机数字}/

百度蜘蛛ip段详解

下面的百度蜘蛛IP造访,准备抓取你东西,抓取网页的百度蜘蛛。

60.172.229.61

61.129.45.72

61.135.162.*

百度竞价蜘蛛

61.135.165.134

117.34.74.66

118.122.188.194

119.63.196.9

125.39.78.185

(百度联盟爬虫),说白了就是百度统计。

61.135.186.*

站长工具模仿的百度蜘蛛。

61.147.98.146

61.188.39.16

113.98.254.245

117.21.220.245

117.28.255.42

114站长工具箱(这个是你的网站不稳定时常来的)

119.147.114.213

121.10.141.*

百度图片爬虫

123.15.**.**

这个蜘蛛经常来,别的来的少,表示网站可能要进入沙盒了,或被者降权。

123.125.68.*

抓取内页收录的,权重较低,爬过此段的内页文章暂时被收录但不放出来(意思也就是说待定),因不是原创或采集文章。(百度网页爬虫(百度图片爬虫)

123.125.71.*

搜外站长工具蜘蛛。

124.248.34.52

也属于百度蜘蛛IP 主要造成成分,是新上线站较多,还有使用过站长工具,或SEO综合检测造成的,没有多大用。

125.90.88.*

百度蜘蛛

159.226.50.*

180.76.5.*

180.76.5.87

220.181.158.107

伪装百度蜘蛛IP

180.149.130.*

这个ip段出现在新站及站点有不正常现象后。

183.91.40.144

203.208.60.*

这个ip段不间断巡逻各站,就是路过一下。

210.72.225.*

降权蜘蛛

每天这个IP 段只增不减很有可能进沙盒或K站

218.30.118.102

220.181.68.*

123.125.68.*

220.181.68.*

主要是抓取首页占80%,内页占30%,这此爬过的文章或首页,绝对24小时内放出来和隔夜快照的!一般成功抓取返回代码都是 200 0 0返回304 0 0代表网站没更新,蜘蛛来过,如果是 200 0 64别担心这不是K站,可能是网站是动态的,所以返回就是这个代码。

220.181.108.*

代表百度蜘蛛IP来访准备抓取你东西

220.181.7.*

123.125.66.*

这个ip段作为度过新站考察期

121.14.89.*

这个ip段出现在新站或站点有不正常现象后

203.208..60.*

这个ip段不间断巡逻各站

210.72.225.*

这个是百度抓取首页的专用IP如是220.181.108段的ip来的话基本来说网站会天天隔夜快照,绝对错不了的

220.181.108.95

98%抓取首页可能还会抓取其他「不是指内页)属于权重IP段此段爬过的文章或首页基本24小时放出来.

220.181.108.92

抓取内页收录的 权重较低 爬过此段的内页文章不会很快放出来,因不是原创或采集文章

123.125.71.106

属于综合的。主要抓取首页和内页或者其它页面。属于权重IP段, 抓过的文章或首页基本24小时放出来

220.181.108.91

重点抓取更新文章的内页达到90%,8%的抓取首页,2%其他权重ip段,抓过的文章或首页基本24小时放出来

220.181.108.75

专用抓取首页ip 权重段,一般返回代码304 0 0代表未更新

220.181.108.86

抓取内页收录的,权重较低,爬过此段的内页文章不会很快放出来,因不是原创

123.125.71.95

123.125.71.97

专用抓取首页ip 权重段,一般返回代码304 0 0代表未更新

220.181.108.89

220.181.108.94

220.181.108.97

220.181.108.80

220.181.108.77

抓取内页收录的, 权重较低,爬过此段的内页文章不会很快放出来,因不是原创

123.181.108.77

专用抓取首页ip 权重段,一般返回代码304 0 0代表未更新

220.181.108.83

帝国cms编辑器添加插入代码插件内容页模板高亮显示

帝国CMS编辑器默认是没有插入代码insertcode的插件,在网上找了一个,分享给大家
实现步骤
1、将“infoeditor”直接把文件复制到根目录的eadminecmseditorinfoeditor目录下,替换源文件;

2、为了可以使用插入代码功能,需要在相应的页面加入CSS代码(insertcode.css),和下面的Js代码;

3、在文章模板(内容模板)页链接Css文件:

或者直接把css代码拷贝到模板的css文件中。

4、在文章模板(内容模板)页加入以下的js代码,实现复制和运行功能。

完毕!

 

如果在后台编辑器中仍然看不到插入代码的按钮,清楚浏览器缓存 就可以了!

图解 HTTP 协议

一、技术基石及概述

问:什么是HTTP?
答:HTTP是一个客户端和服务器端请求响应标准TCP。其实建立在TCP之上的。

当我们打开百度网页时,是这样的:

https://www.baidu.com

多了个S,其实S表示TLS、SSL。在这里不做解释,因此HTTP的技术基石如图所示:

那HTTP协议呢?HTTP协议(HyperText Transfer Protocol),即超文本传输协议是用于服务器传输到客户端浏览器的传输协议。Web上,服务器和客户端利用HTTP协议进行通信会话。有OOP思想的得出结论:其会话的结构是一个简单的请求/响应序列,即浏览器发出请求和服务器做出响应。

 

二、深入理解技术基石和工作流程

既然HTTP是基于传输层的TCP协议,而TCP协议是面向连接端到端的协议。因此,使用HTTP协议传输前,首先建立TCP连接,就是因此在谈的TCP链接过程的“三次握手”。如图

在Web上,HTTP协议使用TCP协议而不是UDP协议的原因在于一个网页必须传送很多数据,而且保证其完整性。TCP协议提供传输控制,按顺序组织数据和错误纠正的一系列功能。

一次HTTP操作称为一个事务,其工作过程可分为四步:

1、客户端与服务器需要建立连接。(比如某个超级链接,HTTP就开始了。)

2、建立连接后,发送请求。

3、服务器接到请求后,响应其响应信息。

4、客户端接收服务器所返回的信息通过浏览器显示在用户的显示屏上,然后客户机与服务器断开连接。

建立连接,其实建立在TCP连接基础之上。图解核心工作过程(即省去连接过程)如下:

三、详解工作过程的HTTP报文

HTTP报文由从客户机到服务器的请求和从服务器到客户机的响应构成。

一、请求报文格式如下:

请求行

通用信息头

请求头

实体头

(空行)

报文主体

如图,请求我博客一篇文章时发送的报文内容:

对于其中请求报文详解:

1、请求行

方法字段 URL Http协议版本

2、通用信息头

Cache-Control头域:指定请求和响应遵循的缓存机制。

keep-alive 是其连接持续有效【在下面百度的例子,会得到验证】

3、请求头

Host头域,脑补吧

Referer头域:允许客户端指定请求URL的资源地址。

User-Agent头域:请求用户信息。【可以看出一些客户端浏览器的内核信息】

4、报文主体

如图中的 “ p=278 ”一般来说,请求主体少不了请求参数。

二、应答报文格式如下:

状态行

通用信息头

响应头

实体头

(空行)

报文主体

如图,就是这篇博客响应的内容:

对其中响应报文详解:

1、状态行

HTTP协议版本 状态码 状态代码的文本描述

【比如这里,200 代表请求成功】

2、通用信息头

keep-alive 是其连接持续有效【在下面百度的例子,会得到验证】

Date头域:时间描述

3、响应头

Server头:处理请求的原始服务器的软件信息。

4、实体头

Content-Type头:便是接收方实体的介质类型。(这也表示了你的报文主体是什么。)

(空行)

5、报文主体

这里就是HTML响应页面了,在截图tab页中的response中可查看。

一次简单的请求/响应就完成了。

三、HTTP协议知识补充

请求报文相关:

请求行-请求方法

GET            请求获取Request-URI所标识的资源
POST          在Request-URI所标识的资源后附加新的数据
HEAD         请求获取由Request-URI所标识的资源的响应消息报头
PUT            请求服务器存储一个资源,并用Request-URI作为其标识
DELETE       请求服务器删除Request-URI所标识的资源
TRACE        请求服务器回送收到的请求信息,主要用于测试或诊断
CONNECT  保留将来使用
OPTIONS   请求查询服务器的性能,或者查询与资源相关的选项和需求

响应报文相关:

响应行-状态码

1xx:指示信息–表示请求已接收,继续处理
2xx:成功–表示请求已被成功接收、理解、接受
3xx:重定向–要完成请求必须进行更进一步的操作
4xx:客户端错误–请求有语法错误或请求无法实现
5xx:服务器端错误–服务器未能实现合法的请求

常见的状态码

200 OK

请求成功(其后是对GET和POST请求的应答文档。)

 

304 Not Modified

未按预期修改文档。客户端有缓冲的文档并发出了一个条件性的请求(一般是提供If-Modified-Since头表示客户只想比指定日期更新的文档)。服务器告诉客户,原来缓冲的文档还可以继续使用。

 

404 Not Found

服务器无法找到被请求的页面。

 

500 Internal Server Error

请求未完成。服务器遇到不可预知的情况。

比如304,在浏览器第一次打开百度时,如图所示:

刷新一下:

这上面的304就证明了

1、304状态码:有些图片和js文件在本地客户端缓存,再次请求后,缓存的文件可以使用。

2、以上所以HTTP请求,只靠一个TCP连接,这就是所谓的持久连接

四、关于HTTP协议的Web应用框架或者规范

JavaEE的人会知道Servlet规范。其中Web应用容器都实现了HTTP协议中的对象,即请求和响应对象。比如 javax.servlet.http.HttpServletResponse 对象中肯定有对状态码描述,如图

至于如何使用它们,坐等系列文章吧。

五、总结

回顾全文,HTTP协议其实就是我们对话一样,语言就是其中的协议。所以掌握HTTP协议明白以下几点就好:

1、用什么通过HTTP协议通信

2、怎么通过HTTP协议通信

自定义文章类型固定链接设置插件:Custom Post Type Permalinks

Custom Post Types(自定义文章类型)这是WordPress 3.0 增加的一项新功能,是WordPress为缩小与其它CMS(内容管理系统)程序差距而新增的实用功能,这也是WordPress之前版本最薄弱的环节。

所谓的Custom Post Types就是除了WordPress正常日志文章(Posts)、页面(Pages),创建新的文章类型并加以管理,实现特殊的内容展示。

该功能大量应用在国外CMS类型的Wordpress主题中,国内免费主题中很少见到,HotNews主题集成该功能,它们分别是:公告、视频、相册,之所以国内主题很少有类似的功能,可能是缺少通俗易懂的中文教程,国外英文教程很多,但有语言障碍,只能忘洋兴叹,有时间可能会总结归纳一下,写个中文版的教程,方便国人设计者研究之用。

言归正题,由于自定义文章类型有别于正常的日志文章,所以修改固定链接格式后,这些自定义类型的文章链接并不会按你的意愿而改变,WordPress默认也没有为此提供设置选项。经常有童鞋提出这个问题,之前也研究过,貌似需要修改程序文件,比较麻烦,不适合大众,还是利用WordPress另一强大的功能——为数众多的插件,可轻松解决。

自定义文章类型固定链接设置插件:Custom Post Type Permalinks

安装启用插件后,再次打开设置——固定链接设置页面,发现底部增加了“Permalink Setting for custom post type”选项,如下图。

自定义文章类型固定链接设置插件:Custom Post Type Permalinks

提示:添加自定义链接后,如果打开这些自定义类型的日志出现404页面,可以尝试多点几次“保存更改”按钮,可以解决。

这里还要提醒大家一句:不同主题的自定义类型的文章,在更换其它主题后将不会显示,包括前台及后台,如果你所使用的主题以自定义类型的文章为主(很多国外主题都是如此),规劝你还是要多考虑一下,不然换主题后,自己辛辛苦苦发表的日志将不复存在….

另外,再推荐一款可以将自定义文章类型转换为普通日志的插件:Post Type Switcher

可以在不同类型日志间方便转换。

原文地址:http://zmingcx.com/custom-post-type-permalinks.html

架构设计基础知识整理

星星点点的知识点,很早就想做这块整理了,持续维护…

I. 原则:

灵活运用,而非刻意遵循

1. 基础原则

尽量少的重复代码,低耦合(尽量小的影响),高内聚
模块,可小到一个类,大到一个系统

模块间耦合因素

构建架构时,需要谨慎耦合的因素

  • 模块间调用
  • 模块间传递的数据量
  • 模块间控制
  • 模块间接口复杂度

模块间耦合从弱到强顺序

构建架构或简单的类时,需要根据实际情况尽量契合弱的模块间耦合关系
做到职责分明,简单轻量,尽量少的潜在性的数据流动,尽量少的相互影响,避免牵一发而动全身

  1. 非直接耦合: 相互之间没有直接关系,而是由第三方模块控制和调用
  2. 数据耦合: 通过传递java的内置数据类型通讯
  3. 标记耦合: 都引用了共同的数据结构,并且通过传递该数据结构通讯
  4. 控制耦合: 通过传递开关、标志、名字等控制信息,明显的控制选择另一个模块的功能
  5. 外部耦合: 都访问一个java的内置数据类型的全局变量
  6. 公共耦合: 都访问了一个公共代码块( 全局数据结构、公共通讯区、内存公共覆盖区等)
  7. 内容耦合: 一个模块直接修改另外一个模块的数据。

降低耦合度的方法

  • 少用类继承,多用类接口隐藏实现细节
  • 模块功能尽量单一
  • 拒绝重复代码
  • 尽量不使用全局变量(Android中的全局变量会有一些坑,因为Attach在ClassLoader上的,因此根据不同ROM的优化,可能会在未预料的情况被unload,导致数据丢失)
  • 类成员变量与方法少用public,多用private
  • 尽量不用硬编码(如 字符串放到 res/string.xml,SQL语句做一层基于业务的封装供上层使用)
  • 使用设计模式,尽量让模块间的耦合关系保证在数据耦合或更弱

2. 原则汇总

原则 基本概念 解决问题 基本实现
开闭原则 对扩展开发,对修改关闭 实现热拔插,解耦方式 接口、抽象
里氏代换原则 子类是父类的具体抽象,抽象并可代表父类(Is-A) 解释抽象化的具体原则 继承,抽象
依赖倒转原则 针对接口编程,依赖于抽象不依赖于具体 易于拓展 接口编程时类型使用基类,而不使用具体实现的子类
接口隔离原则 使用多个隔离接口,比使用单个接口要好 降低耦合 封装接口的时候,尽量用不同接口解决不同问题,尽量不要合用一个接口
迪米特法则 以实体为单位,实体之间的相互作用尽量的少 降低耦合 写一个系统架构,或模块的时候,尽量少的对外依赖
合成复用原则 优先使用合成/聚合,而非继承 可以通过引入抽象类更加灵活,相互耦合变小,更加简单 尽量将已有对象纳入到新对象中,成为新对象的一部分,而不使用继承的方式进行复用,如 ClassLoader 中双亲委派架构

使用组合而非继承的场景:

优先使用对象组合,而非继承

  • Has-A的关系,而非Is-A的关系
  • 子类的主要目的是拓展父类,而非overridefinal,如果存在大量这种情况,改用组合
  • 引入工具类,而非继承自工具类
  • 有可能或不确定 子类 有可能被替换为 另外一个类的子类的情况 ( 如果出现这种情况,就需要修改。因此还不如使用 组合,如果有类似需求,再 组合如新的对象,进行拓展即可)

继承需要注意

当已经选择使用继承时,需要注意

  • 实现抽象方法,拓展新的特性方法,尽量少的重载父类非抽象方法
  • 重载父类非抽象方法时: 方法前置条件(方法形参)要比父类方法更宽松,方法后置条件(方法返回值)要比父类更严格

类之间的关系与UML表示

II. 常见的模式

1. MVC 与 MVP


From http://msdn.microsoft.com/en-us/library/ff647859.aspx

MVP(Model-View_Presenter)是MVC(Model-View_Controller)的一个子集。

  • MVC中Controller控制全局事务,View将事件发送给ControllerController处理完事件同步给Model(数据库/数据模型),View是通过所绑定的Model的改变来刷新自己。
  • MVP中PresenterView中获取数据,刷新Model,当Model中的数据发生改变后,Presenter读取Model并刷新View

2. MVVM

MVVM(ViewViewModel->Model)

在Android中可以通过DataBinding,直接在Layout文件中绑定其ViewModel

  • View: 布局
  • ViewModel: 负责显示数据(监听到Model中的数据变化进行显示),以及处理用户交互(监听View布局中的用户Action)
  • Model: 存储内容

3. MVVM-C

MVVM-C(View-ViewModel-Callback-Model)

  • View: 布局
  • Callback: 通常可以是FragmentActivity,用于处理用户交互(监听View布局中的用户Action)
  • ViewModel: 显示数据(监听Model中的数据变化进行显示)
  • Model: 存储内容

III. 设计模式

1. 工厂方法模式

2. 单例模式

Initialization-on-demand holder idiom

Wiki

性能高,线程安全 基于JVM Class Loader保证Class唯一性线程安全的模型

  1. public class Something {
  2.     private Something() {}
  3.     private static class LazyHolder {
  4.         private static final Something INSTANCE = new Something();
  5.     }
  6.     public static Something getInstance() {
  7.         return LazyHolder.INSTANCE;
  8.     }
  9. }

 

3. 建造者模式

与工厂模式区别是: 工厂模式关注构建单个类型类型;建造者模式关注构建符合类型对象。

4. 原型模式

当前对象对外提供拷贝方法

浅拷贝

除了基本数据类型外,其他类型的对象都只持有当前对象的引用,而非重新创建拷贝

Java中的Object#clone
  1. Object#clone()就已经提供了该对象的浅拷贝
  2. 如果需要使用Object#clone,需要类实现Clonable这个接口,来申明该类对象支持拷贝,否则会抛CloneNotSupportedException, 如果对象中存在队列成员变量,队列也需要实现Clonable

深拷贝

所有成员变量都将重新创建

方式一:

直接序列化(Java中基于JVM层级最简单的让对象支持序列化的方式,实现Serializable),拷贝二进制流。

方式二(推荐):

基于Object#clone()将非基本数据类型以外的元素都实现深拷贝,挨个深拷贝返回。

5. 适配器模式

6. 装饰模式

7. 代理模式

8. 外观模式

9. 桥接模式

10. 组合模式

11. 享元模式

12. 策略模式

13. 模板方法模式

14. 观察者模式