(图片来源:淄博宏承汽车配件有限公司)

注:

*手动建控制器,方法

1、控制器:

<?php
namespace Portal\Controller;
use Common\Controller\HomebaseController; class ListfabuziyuanController extends HomebaseController { public function ad()
{
if(empty($_POST))//如果$_POST空,显示添加页面,
{
$this->ajaxReturn('您输入的内容不能为空!','eval');
}
else //如果$_POST不为空,走验证,验证是否成功,添加数据库
{
$n = D("posts");
$ter = D("term_relationships");//此表是设置添加的文章的object_id,term_id
$sel = $_POST["sel"];
$sel = str_replace('|', '', $sel);
$louname = $_POST["louname"];
$louname = str_replace('|','', $louname);
$quyu = $_POST["quyu"];
$quyu = str_replace('|','', $quyu);
$louceng = $_POST["louceng"];
$louceng = str_replace('|','', $louceng);
$mj = $_POST["mj"];
$mj = str_replace('|','', $mj);
$datiprice = $_POST["datiprice"];
$datiprice = str_replace('|','', $datiprice);
$price = $_POST["price"];
$price = str_replace('|','', $price);
$dtprice = $_POST["dtprice"];
$dtprice = str_replace('|','', $dtprice);
$mpprice = $_POST["mpprice"];
$mpprice = str_replace('|','', $mpprice);
$huxing = $_POST["huxing"];
$huxing = str_replace('|','', $huxing);
$woshi = $_POST["woshi"];
$woshi = str_replace('|','', $woshi);
$zzleibie = $_POST["zzleibie"];
$zzleibie = str_replace('|','', $zzleibie);
$fangling = $_POST["fangling"];
$fangling = str_replace('|','', $fangling);
$chaoxiang = $_POST["chaoxiang"];
$chaoxiang = str_replace('|','', $chaoxiang);
$zhuangxiu = $_POST["zhuangxiu"];
$zhuangxiu = str_replace('|','', $zhuangxiu);
$chanquan = $_POST["chanquan"];
$chanquan = str_replace('|','', $chanquan);
$peitao = $_POST["peitao"];
$peitao = str_replace('|','', $peitao);
$tele = $_POST["tele"];
$tele = str_replace('|','', $tele);
$bt = $_POST["bt"];
$bt = str_replace('|','', $bt);
$youhui = $_POST["youhui"];
$youhui = str_replace('|','', $youhui);
$lxr = $_POST["lxr"];
$lxr = str_replace('|','', $lxr);
$sm = $_POST["sm"];
$sm = str_replace('|','', $sm);
$zhoubian = $_POST["zhoubian"];
$zhoubian = str_replace('|','', $zhoubian);
$smwz = $_POST["smwz"];
$smwz = str_replace('|','', $smwz);
$jt = $_POST["jt"];
$jt = str_replace('|','', $jt);
$kf = $_POST["kf"];
$kf = str_replace('|','', $kf);
$dyprice = $_POST["dyprice"];
$dyprice = str_replace('|','', $dyprice);
$wyprice = $_POST["wyprice"];
$wyprice = str_replace('|','', $wyprice);
$prileixing = $_POST["prileixing"];
$prileixing = str_replace('|','', $prileixing);
$wygs = $_POST["wygs"];
$wygs = str_replace('|','', $wygs);
$lvhua = $_POST["lvhua"];
$lvhua = str_replace('|','', $lvhua);
$time = date('Y');
$tmtwo = substr($fangling,0,4);
$t = $time - $tmtwo;
$ttimee = date("Y-m-d H:i:s");
$ttim = strtotime($ttimee);
$thisdaystart=mktime(0,0,0,date("m"),date("d"),date("Y"));
$tdayStart=mktime(23,59,59,date("m"),date("d"),date("Y"));
$data['post_keywords'] = $sel."|".$mj."平米"."|".$datiprice."|".$price."万|".$dtprice."|".$mpprice.$prileixing."|".$huxing."|".$woshi."|".$zzleibie."|"."住宅类别:".$zzleibie."|".$quyu."|".$fangling."|".$chaoxiang."|".$t."年房龄|".$louceng."|装修:".$zhuangxiu."|".$chanquan."|楼盘名称:".$louname."|配套设施:".$peitao."|".$tele."|";
$data['post_title'] = $mj."平米|".$bt."|优惠:".$youhui."|".$lxr."|所属生活大区".$sm."|周边设施:".$zhoubian."|";
$data['post_date'] = date("Y-m-d H:i:s");
$data['post_modified'] = date("Y-m-d H:i:s");
$data['post_author'] = 1;
$data['post_status'] = 1;//添加文章之后,如果不设置为1,在后台文章里面不显示,管理员无法审核
$data['post_tele']= $ttim;
$data['post_source'] = $price."万/套|地址:".$smwz."|交通:".$jt."|开发商:".$kf."|物业公司:".$wygs."|物业费:".$wyprice."|绿化率:".$lvhua."|".$dyprice.$prileixing."|";
$data['post_content_filtered'] = $tele;
if(!empty($sel) && !empty($datiprice) && !empty($price) && !empty($dtprice) && !empty($mpprice) && !empty($huxing) && !empty($woshi) && !empty($zzleibie) && !empty($quyu) && !empty($fangling) && !empty($chaoxiang) && !empty($t) && !empty($louceng) && !empty($zhuangxiu) && !empty($chanquan) && !empty($louname) && !empty($peitao) && !empty($tele) && !empty($bt) && !empty($youhui) && !empty($lxr) && !empty($sm) && !empty($zhoubian) && !empty($smwz) && !empty($dyprice) && !empty($jt) && !empty($wyprice))
{
$cn = $n->where(" post_tele>='$thisdaystart' and post_tele<'$tdayStart' and post_content_filtered='{$tele}' ")->count();
if($cn < 3)
{
$nn = $n->add($data);
$dt['object_id'] = $nn;
$dt['term_id'] = 55;
$dt['status'] = 1;
$tern = $ter->add($dt);
if($nn && $tern)
{
echo "您发布的信息已传送到后台,请耐心等待审核。。。";
}
else
{
echo "您发布的信息未传送至后台,请重新发布信息或联系客服!";
}
}
else
{
echo "您今天的发布信息次数已用完,请次日再发布信息!";
}
}
else
{
echo "您有重要信息未填写,请返回发布信息页面完善重要信息!";
}
}
}
}
2、模板:table
<table width="1200" align="center" cellpadding="4"   cellspacing="0" style="margin-top:15px;">
<tbody >
<tr>
<td class="tb_td_di" align="right"><div align="right">类别:</div></td>
<td class="tb_td" align="left">
<select id="sel" name="sel" >
<option value="出租">出租</option>
<option value="出售">出售</option>
</select>
</td>
<td class="tb_td_di" align="right"><div align="right">房源总价:</div></td>
<td class="tb_td" align="left">
<input name="price" type="text" class="textfield" id="price" maxlength="100"> 万
</td>
</tr> <tr>
<td class="tb_td_di" align="right"><div align="right">房源名称:</div></td>
<td class="tb_td"><input name="louname" type="text" class="textfield" placeholder="如:**小区" id="louname" maxlength="100">
* (注:名称三个汉字以上)</td>
<td class="tb_td_di"><div align="right" style="font-weight:normal">房源具体面积:</div></td>
<td class="tb_td"><input name="jg" type="text" class="textfield" id="mj" maxlength="100" /> ㎡ * (平方米) </td>
</tr>
<tr>
<td class="tb_td_di" align="right"><div align="right">优惠条件:</div></td>
<td class="tb_td"><input name="youhui" placeholder="如:90平三居室80万起送景区票/面议" type="text" class="textfield" id="youhui" maxlength="100"> * (注:没有优惠写“无”)</td>
<td class="tb_td_di"><div align="right">出售/租价格:</div></td>
<td class="tb_td"><input name="mpprice" type="text" class="textfield" id="mpprice" placeholder="如:6000" maxlength="100" />
<select name="prileixing" id="prileixing" >
<option value="元/平米">元/平</option>
<option value="元/月">元/月</option>
<option value="元/年">元/年</option>
</select>
</td>
</tr>
<tr >
<td class="tb_td_di" align="right"><div align="right">房源具体位置:</div></td>
<td class="tb_td"><input placeholder="如:桓公路与天齐路交叉路口往东200米路南" name="smwz" type="text" class="textfield" id="smwz" style="width:300px"> * (注:尽量详细)</td>
<td class="tb_td_di" align="right"><div align="right">座落位置:</div></td>
<td class="tb_td"><input placeholder="如:**附近" name="sm" type="text" class="textfield" id="sm" value="" maxlength="100"> * (注:大体位置,十个汉字以内)</td>
</tr>
<tr>
<td class="tb_td_di" align="right"><div align="right">房源标题:</div></td>
<td class="tb_td"><input name="bt" placeholder="如:*小区南北通透三室两厅" type="text" class="textfield" id="bt"> * (注:房源标题,二十个汉字以内)</td>
<td class="tb_td_di" align="right"><div align="right">产权性质:</div></td>
<td class="tb_td">
<select id="chanquan" name="chanquan" style="WIDTH: 100;">
<option value="产权性质:三证齐全" selected="selected">三证齐全</option>
<option value="产权性质:小产权">小产权</option>
<option value="产权性质:身份证">身份证</option>
<option value="产权性质:暂无">暂无</option>
</select></td>
</tr> <tr>
<td class="tb_td_di" align="right"><div align="right">交通情况:</div></td>
<td class="tb_td"><input name="jt" placeholder="如:236、237路公交车经过" type="text" class="textfield" id="jt" maxlength="100"> * (注:房源标题,二十个汉字以内)</td>
<td class="tb_td_di"><div align="right" style="font-weight:normal">房源大体面积:</div></td>
<td class="tb_td"><select id="datiprice" name="datiprice">
<option value="50平以下">50平以下</option>
<option value="50-70平">50-70平</option>
<option value="70-90平">70-90平</option>
<option value="90-110平">90-110平</option>
<option value="110-130平">110-130平</option>
<option value="130-150平">130-150平</option>
<option value="150-200平">150-200平</option>
<option value="200-300平">200-300平</option>
<option value="300平以上">300平以上</option>
</select> </td>
</tr> <tr >
<td class="tb_td_di" align="right"><div align="right">户型:</div></td>
<td class="tb_td"><select name="huxing" id="huxing" >
<option value="三室二厅">三室二厅</option>
<option value="单间配套">单间配套</option>
<option value="一室一厅">一室一厅</option>
<option value="一室一厅一卫">一室一厅一卫</option>
<option value="二室一厅">二室一厅</option>
<option value="二室二厅">二室二厅</option>
<option value="二室二厅二卫">二室二厅二卫</option>
<option value="两室一厅一卫">两室一厅一卫</option>
<option value="两室两厅一卫">两室两厅一卫</option>
<option value="三室一厅">三室一厅</option>
<option value="三室一厅一卫">三室一厅一卫</option>
<option value="三室两厅一卫">三室两厅一卫</option>
<option value="三室两厅一厨一卫">三室两厅一厨一卫</option>
<option value="三室二厅二卫">三室二厅二卫</option>
<option value="四室一厅">四室一厅</option>
<option value="四室一厅一卫">四室一厅一卫</option>
<option value="四室一厅二卫">四室一厅二卫</option>
<option value="四室二厅">四室二厅</option>
<option value="四室两厅一卫">四室两厅一卫</option>
<option value="四室二厅二卫">四室二厅二卫</option>
<option value="四室三厅两卫">四室三厅两卫</option>
<option value="五室二厅">五室二厅</option>
<option value="五室二厅二卫">五室二厅二卫</option>
<option value="五室四厅三卫">五室四厅三卫</option>
<option value="七室二厅二卫">七室二厅二卫</option>
<option value="复式楼">复式楼</option>
<option value="别墅">别墅</option>
<option value="其他">其他</option>
</select></td>
<td class="tb_td_di"><div align="right">住宅类别:</div></td>
<td class="tb_td"><select name="zzleibie" id="zzleibie" >
<option value="多层">多层</option>
<option value="小高层">小高层</option>
<option value="高层">高层</option>
<option value="平房">平房</option>
<option value="民房">民房</option>
<option value="别墅">别墅</option>
<option value="商铺">商铺</option>
<option value="写字楼">写字楼</option>
<option value="仓库厂房">仓库厂房</option>
<option value="普通类别">普通类别</option>
</select></td>
</tr> <tr>
<td class="tb_td_di" align="right"><div align="right">房龄:</div></td>
<td class="tb_td"><select name="fangling" id="fangling" >
<option value="1980年建造">1980年建造</option>
<option value="1981年建造">1981年建造</option>
<option value="1982年建造">1982年建造</option>
<option value="1983年建造">1983年建造</option>
<option value="1984年建造">1984年建造</option>
<option value="1985年建造">1985年建造</option>
<option value="1986年建造">1986年建造</option>
<option value="1987年建造">1987年建造</option>
<option value="1988年建造">1988年建造</option>
<option value="1989年建造">1989年建造</option>
<option value="1990年建造">1990年建造</option>
<option value="1991年建造">1991年建造</option>
<option value="1992年建造">1992年建造</option>
<option value="1993年建造">1993年建造</option>
<option value="1994年建造">1994年建造</option>
<option value="1995年建造">1995年建造</option>
<option value="1996年建造">1996年建造</option>
<option value="1997年建造">1997年建造</option>
<option value="1998年建造">1998年建造</option>
<option value="1999年建造">1999年建造</option>
<option value="2000年建造">2000年建造</option>
<option value="2001年建造">2001年建造</option>
<option value="2002年建造">2002年建造</option>
<option value="2003年建造">2003年建造</option>
<option value="2004年建造">2004年建造</option>
<option value="2005年建造">2005年建造</option>
<option value="2006年建造">2006年建造</option>
<option value="2007年建造">2007年建造</option>
<option value="2008年建造">2008年建造</option>
<option value="2009年建造">2009年建造</option>
<option value="2010年建造">2010年建造</option>
<option value="2011年建造">2011年建造</option>
<option value="2012年建造">2012年建造</option>
<option value="2013年建造">2013年建造</option>
<option value="2014年建造">2014年建造</option>
<option value="2015年建造">2015年建造</option>
<option value="2016年建造">2016年建造</option>
<option value="2017年建造">2017年建造</option>
</select></td>
<td class="tb_td_di"><div align="right">房屋朝向:</div></td>
<td class="tb_td"><select name="chaoxiang" id="chaoxiang" >
<option>南北朝向</option>
<option>东西朝向</option>
</select></td>
</tr> <tr>
<td class="tb_td_di" align="right"><div align="right">装修程度:</div></td>
<td class="tb_td"><select name="zhuangxiu" id="zhuangxiu" >
<option value="简装修">简装</option>
<option value="精装修">精装</option>
<option value="毛坯房">毛坯房</option>
</select> </td>
<td class="tb_td_di" align="right"><div align="right">所在区域:</div></td>
<td class="tb_td">
<select id="quyu" name="quyu" style="WIDTH: 100;">
<option value='城东区' >城东区</option>
<option value='城西区' >城西区</option>
<option value='城南区' >城南区</option>
<option value='城北区' >城北区</option>
<option value='其他区域' >其他区域</option>
</select></td>
</tr>
<tr> <td class="tb_td_di"><div align="right">所在楼层:</div></td>
<td class="tb_td"><select id="louceng" name="louceng" >
<option value="楼层1楼">1</option>
<option value="楼层2楼">2</option>
<option value="楼层3楼">3</option>
<option value="楼层4楼">4</option>
<option value="楼层5楼">5</option>
<option value="楼层6楼">6</option>
<option value="楼层7楼">7</option>
<option value="楼层8楼">8</option>
<option value="楼层9楼">9</option>
<option value="楼层10楼">10</option>
<option value="楼层11楼">11</option>
<option value="楼层12楼">12</option>
<option value="楼层13楼">13</option>
<option value="楼层14楼">14</option>
<option value="楼层15楼">15</option>
<option value="楼层16楼">16</option>
<option value="楼层17楼">17</option>
<option value="楼层18楼">18</option>
<option value="楼层19楼">19</option>
<option value="楼层20楼">20</option>
<option value="楼层21楼">21</option>
<option value="楼层22楼">22</option>
<option value="楼层23楼">23</option>
<option value="楼层24楼">24</option>
<option value="楼层25楼">25</option>
<option value="楼层26楼">26</option>
<option value="楼层27楼">27</option>
<option value="楼层28楼">28</option>
<option value="楼层29楼">29</option>
<option value="楼层30楼">30</option>
<option value="楼层31楼">31</option>
<option value="楼层32楼">32</option>
<option value="楼层33楼">33</option>
<option value="楼层34楼">34</option>
<option value="楼层35楼">35</option>
</select>楼</td>
<td class="tb_td_di"><div align="right">卧室类型:</div></td>
<td class="tb_td"><select name="woshi" id="woshi" >
<option value="一居室">一居室</option>
<option value="二居室">二居室</option>
<option value="三居室">三居室</option>
<option value="四居室">四居室</option>
<option value="五居室">五居室</option>
<option value="五居室以上">五居室以上</option>
</select></td>
</tr>
<tr>
<td class="tb_td_di" align="right"><div align="right">房源总价位:</div></td>
<td class="tb_td">
<select id="dtprice" name="dtprice">
<option value="100万以下">100万以下</option>
<option value="100-200万">100-200万</option>
<option value="200-300万">200-300万</option>
<option value="300-500万">300-500万</option>
<option value="500-800万">500-800万</option>
<option value="800-1000万">800-1000万</option>
<option value="1000万以上">1000万以上</option>
</select> * (注:总价格)
</td> <td class="tb_td_di"><div align="right">房源价格:</div></td>
<td class="tb_td"><select name="dyprice" id="dyprice" >
<option value="3500以下">3500以下</option>
<option value="3500-4000">3500-4000</option>
<option value="4000-5000">4000-5000</option>
<option value="5000-6000">5000-6000</option>
<option value="6000-7000">6000-7000</option>
<option value="7000-8000">7000-8000</option>
<option value="8000-9000">8000-9000</option>
<option value="9000-10000">9000-10000</option>
<option value="10000以上">10000以上</option>
</select></td>
</tr>
<tr>
<td class="tb_td_di" align="right"><div align="right">开发商:</div></td>
<td class="tb_td"><input name="kf" type="text" class="textfield" id="kf" maxlength="100"> * (可选填) </td>
<td class="tb_td_di"><div align="right" style="font-weight:normal">物业公司:</div></td>
<td class="tb_td"><input name="wygs" type="text" class="textfield" id="wygs" maxlength="100" /> * (可选填) </td>
</tr>
<tr>
<td class="tb_td_di" align="right"><div align="right">绿化率:</div></td>
<td class="tb_td"><select name="lvhua" id="lvhua" >
<option value="40%">40%</option>
<option value="70%">70%</option>
<option value="60%">60%</option>
<option value="50%">50%</option>
<option value="30%">30%</option>
<option value="20%">20%</option>
<option value="10%">10%</option>
</select> * (可选填) </td>
<td class="tb_td_di"><div align="right" style="font-weight:normal">物业费:</div></td>
<td class="tb_td"><input name="wyprice" type="text" class="textfield" id="wyprice" maxlength="100" /></td>
</tr>
<tr class="tb_tr">
<td class="tb_td_di tb_td_posi" align="right"><div class="tb_td_posi_di" align="right">基本设施:</div></td>
<td class="tb_td"><textarea placeholder="如:天然气,地暖" name="peitao" cols="70" rows="3" class="textfield2" id="peitao" ></textarea></td>
<td class="tbd">* (注:尽量完善信息) </td>
</tr> <tr class="tb_tr">
<td class="tb_td_di tb_td_posi" align="right"><div class="tb_td_posi_di" align="right">周边设施:</div></td>
<td class="tb_td"><textarea placeholder="如:北邻**商城" name="zhoubian" cols="70" rows="3" class="textfield2" id="zhoubian" ></textarea></td>
<td class="tbd">* (注:尽量完善信息) </td>
</tr>
<tr >
<td class="tb_td_di" align="right"><div class="colo" align="right">联系电话:</div></td>
<td class="tb_td"><input name="tele" type="text" class="textfield" id="tele">
* (注:重要,请核对正确后再发布)</td>
<td class="tb_td_di" align="right"><div class="colo" align="right">联系人:</div></td>
<td class="tb_td"><input name="lxr" id="lxr" type="text" class="textfield" placeholder="如:**先生/女士">
</tr> </tbody> <tr>
<td class="tb_td_di" align="right">&nbsp;</td>
<td valign="bottom"><input name="submitSaveEdit" type="button" id="sub" value="提交" style="WIDTH: 80;" >
<span class="STYLE1">(注:提交信息后请耐心等待客服审核) </span></td>
<td valign="bottom">&nbsp;</td>
<td valign="bottom">&nbsp;</td>
</tr>
<tr>
<td height="25" align="right">&nbsp;</td>
<td valign="bottom">&nbsp;</td>
<td valign="bottom">&nbsp;</td>
<td valign="bottom">&nbsp;</td>
</tr>
</table>

3、方法:ajax

/*发布资源开始出售出租*/
$('#sub').click(function(){
var sel = $('#sel').val();
var louname = $('#louname').val();
var quyu = $('#quyu').val();
var louceng = $('#louceng').val();
var mj = $('#mj').val();
var datiprice = $('#datiprice').val();
var price = $('#price').val();
var dtprice = $('#dtprice').val();
var mpprice = $('#mpprice').val();
var huxing = $('#huxing').val();
var woshi = $('#woshi').val();
var zzleibie = $('#zzleibie').val();
var fangling = $('#fangling').val();
var chaoxiang = $('#chaoxiang').val();
var zhuangxiu = $('#zhuangxiu').val();
var chanquan = $('#chanquan').val();
var peitao = $('#peitao').val();
var tele = $('#tele').val();
var bt = $('#bt').val();
var youhui = $('#youhui').val();
var lxr = $('#lxr').val();
var sm = $('#sm').val();
var zhoubian = $('#zhoubian').val();
var smwz = $('#smwz').val();
var jt = $('#jt').val();
var kf = $('#kf').val();
var wyprice = $('#wyprice').val();
var wygs = $('#wygs').val();
var lvhua = $('#lvhua').val();
var dyprice = $('#dyprice').val();
var prileixing = $('#prileixing').val();
$.ajax({
url:"{:U('Portal/Listfabuziyuan/ad')}",
data:{sel:sel,louname:louname,quyu:quyu,louceng:louceng,mj:mj,datiprice:datiprice,price:price,dtprice:dtprice,mpprice:mpprice,huxing:huxing,woshi:woshi,zzleibie:zzleibie,fangling:fangling,chaoxiang:chaoxiang,zhuangxiu:zhuangxiu,chanquan:chanquan,peitao:peitao,tele:tele,bt:bt,youhui:youhui,lxr:lxr,sm:sm,zhoubian:zhoubian,smwz:smwz,jt:jt,kf:kf,wygs:wygs,wyprice:wyprice,lvhua:lvhua,dyprice:dyprice,prileixing:prileixing},
type:"POST",
dataType:"TEXT",
success: function(data)
{
alert(data);
}
})
})
/*发布资源结束出售出租*/

*读取批量上传的图片

<php>
$tag=M('posts')->where(array('id'=>$id))->select();
$t=$tag[0];
$post_excerpt=explode('|',$t[post_excerpt]);
$post_title=explode('|',$t[post_title]);
$post_keywords=explode('|',$t[post_keywords]);
$post_source=explode('|',$t[post_source]);
$post_content=explode('|',$t[post_content]);
</php> <a href="{:leuu('list/index',array('id'=>70))}"><img src="<php> echo substr($smeta['photo'][0]['url'],16);</php>" /></a>//读取到图片

*分页关键词传参数查询

1、第一个页面,指向到另外一个html页面根据form表单提交数据查询数据并分页

<form action="{:leuu('list/index',array('id'=>72))}" method='post'>//指向的是一个list.html页面
<input type="text" name="text" class="form-control" value="" id="n_ss_in" placeholder="请输入小区名称....."/ >
<span class="input-group-btn ss_val">
<button type="submit" class="btn btn-info btn-search" id="n_ss_btn">搜索</button>
</span>
</form>

2、此为接收参数页面

<php>
$txt = $_POST['text'];//$_POST['text']为第一个页面表单传过来的name=text的值
$text=$_GET['text'];//$_GET['text']为从url里面读取的&text='参数'的值、为什么要接受两个值呢,因为在接受参数值的时候,刚草这个页面只能接收到$txt,而在点击页数的时候,只能读取到$text的值,所以用了个笨方法,关键字条件查询的时候用这两个参数一块查询就可以了
</php> <form action="{:leuu('list/index',array('id'=>72))}" method='post'>//指向自己
<input type="text" name="text" class="form-control" id="n_ss_in" value="<php> echo $txt==null?$text:$txt </php>" placeholder="请输入小区名称....."/ >//用的三木运算符,主要是把参数显示到input框里面
<span class="input-group-btn ss_val">
<button type="submit" class="btn btn-info btn-search" id="n_ss_btn">搜索</button>
</span>
</form>

3、thinkcmf查询语句

<php>    $tag="field:post_title,post_date,post_keywords,object_id,term_id,post_source,post_excerpt,smeta,post_content;order:post_date desc;where:post_keywords like '%$txt%' and post_keywords like '%$text%'";
$list=sp_sql_posts_paged_bycatid(55,$tag,9);//根据$cat_id(55)、条件($tag)、每页取9条
$bb = $list['posts'];
</php>

*根据文章id查询文章后台的标题、关键字、文章来源和摘要(根据"|"分割)

<php>
    $tag=M('posts')->where(array('id'=>$id))->select();
    $t=$tag[0];
    $post_excerpt=explode('|',$t[post_excerpt]);
    $post_title=explode('|',$t[post_title]);
    $post_keywords=explode('|',$t[post_keywords]);
    $post_source=explode('|',$t[post_source]);
    var_dump($post_excerpt[0]);
</php>

读取数据页面输出:

<php>
     $post_title=explode('|',$vo[post_title]);
     echo $post_title[2];
</php>

*post_keywords模糊查询语句:

1、多条件模糊查询

<php>

$where['post_keywords']=array('like',array('%出租%','%出售%'),'OR');

</php>

2、单一条件查询语句

<php>
   $where['post_keywords']=array('like','%出售%');
   $tag=M('posts')->limit(2)->order("post_date desc")->where($where)->select();
   var_dump($tag);
</php> 

3、thinkcmf常规关键字查询语句

<php>

$tag="field:post_title,post_date,post_keywords,post_content;order:post_date desc;where:post_keywords like '%出租%'";
$list=sp_sql_posts_paged_bycatid(1,$tag,8); //1为$cat_id、8为每页显示条数

</php>

*根据特定符号截取字符串

<php>
  $post_title=explode('|',$vo[post_title]);
     echo $post_title[0];
</php>

*leuu链接:

1、{:leuu('article/index',array('id'=>$vo['object_id'],'cid'=>$vo['term_id']))}

$vo['object_id']:文章id

$vo['term_id']:子栏目id(分类栏目下的子栏目id)

2、{:leuu('list/index',array('id'=>6))};链接到分类栏目id为6的list页面

*thinkcmf无法使用config.html中的配置量(热门文章需引入):在模版中引入<tc_include file=":config" />

*thinkcmf格式化时间,只取年月日

{:date('Y-m-d',strtotime($v['post_date']))};

*修改网站title:

1、找到admin的zh-cn.php文件,修改'ADMIN_CENTER'

2、登录页面的title:admin/themes/simplebootx/admin/login.html

3、后台index的标题和title:admin/themes/simplebootx/admin/boot/index.html

*读取id为$cid的分类下的文章,按照$tag的规则读取两篇文章

<php>

$tag='field:post_title,post_date,object_id,term_id,smeta;order:post_date asc';

$posts=sp_sql_posts_paged_bycatid($cid,$tag,2);
</php>

*Thinkcmf截取内容长度

 例1:
{$vo.post_title|msubstr=0,10}

截取标题,msubstr=0,10,数字表示截取的字符串长度,显示省略号,但无论长度是否超过截取的长度都会出现省略号;

例2:

{$vo.post_title|mb_substr=0,15,'utf-8'}
mb_substr=0,15,'utf-8',设置同上,超过部分截取,但不会显示省略号。

例3:

<php>
$post_keywords=explode('|',$vczfy[post_keywords]);
echo mb_substr($post_keywords[2], 0, 2, 'utf-8');
</php>

例4:

ThinkPHP有一个内置字符截取函数msubstr()如下:
msubstr($str, $start=0, $length, $charset=”utf-8″, $suffix=true)
$str:要截取的字符串
$start=0:开始位置,默认从0开始
$length:截取长度
$charset=”utf-8″:字符编码,默认UTF-8
$suffix=true:是否在截取后的字符后面显示省略号,默认true显示,false为不显示
调用如下:
{$vo.title|msubstr=5,5,’utf-8′,false}
解释:截取字符串$vo.title,从第5个字符开始,截取5个,编码为UTF-8,不显示省略号

*{:sp_get_term(7)['name']} //取分类栏目id为7的栏目名称

*设为首页:<a onclick="this.style.behavior='url(#default#homepage)';this.setHomePage('www.baid.html');">设为首页 </a>

*加入收藏:<a href="javascript:window.external.AddFavorite('www.czy.html', '官方网站名')">加入收藏</a>

*打印:<a href="javascript:window.print();">打印</a>

一.public文件:

1、各种js文件,包括cookie.js、ajaxFrom.js等系统自带的js文件
2、simpleboot:bootstrap、图标font文件

二、themes:前端模板文件/simplebootx

1、comment:评论、回复
comment.html:评论区的一个样式
2、portal:门户页面
article.html:具体的某条新闻的页面
contact.html:练习我们页面(和page.html一样,属于单网页,既不属于新闻列表页,也不属于首页),它和page.html一样,之所以拿出来是在这个页面里做了练习我们的一些特别的内容
index.html:首页页面
list_masonry.html:瀑布流的一个模板文件
list.html:新闻列表页(基本上除去首页和page.html单网页,基本都属于新闻列表页)
search.html:关键字搜索显示的一个列表页
3、public文件夹:门户、评论用到的资源文件
footer.html、header.html、script.html、nav.html、user.html
4、user:在用户登录后所呈现的页面在此文件夹
5、config.html:配置页面
6、error.html:报错页面
7、success.html:操作成功后提示页面

三、例子

1、在主页读取分类栏目->子类栏目->文章信息

<div class="content">
<php>
$terms=sp_get_child_terms(6); /*读取id为6的分类栏目的子栏目信息*/
</php>
<foreach name="terms" item="vot" >
<div class="classifyitem"> <a href="{:leuu('list/index',array('id'=>$vot['term_id']))}">/*链接到分类子栏目*/
<div class="classifytitle"> {$vot.name} </div>
</a>
<div class="classifycontent">
<ul>
<php>
$listaa=sp_sql_posts_paged_bycatid($vot['term_id'],"",6); /*$vot['term_id']为外层foreach查询到的各子类栏目的id,6为显示6条数据,$vot['term_id']为分类子栏目的 id,通过循环,取到各分类下的文章信息*/
</php>
<foreach name="listaa['posts']" item="vol" >
<li><a href="{:leuu('article/index',array('id'=>$vol['object_id'],'cid'=>$vol['term_id']))}">{$vol.post_title}</a></li>
</foreach>
</ul>
</div>
<div class="clear"></div>
</div>
</foreach>
</div>
</div>

示意图:

2、分页:$termsb = sp_sql_posts_paged("cid:$cat_id;order:post_date DESC;",9);

    <div class="rightcontent">
<ul>
<php>
$termsb = sp_sql_posts_paged("cid:$cat_id;order:post_date DESC;",2);//根据当前页面的$cat_id读取文章数据,排序方式为按发布的时间'post_date',默认降序,每页9条数据文章
</php>
<foreach name="termsb['posts']" item="voa">
<php>
$smeta=json_decode($voa['smeta'],true); //取到图片数据放到<img />里面
</php>
<li> <a href="{:leuu('article/index',array('id'=>$voa['object_id'],'cid'=>$voa['term_id']))}"> <img src="__ROOT__/data/upload/{$smeta.thumb}"/>
<p>{$voa.post_title }</p>
</a> </li>
</foreach>
</ul>
</div>
</div>
<div class="clear"></div>
<div>
<div class="fyabc">{$termsb.page}</div> //分页样式: 上一页 1 2 3 下一页
</div>

li、div的css样式

.fyabc li
{
float:left;
margin-left:10px;
}
.fyabc
{
float:left;
margin-left:550px;
}

3、$terms=sp_sql_posts_paged_bycatid($voxx['term_id'],$tag,2); //'2'是指从每一个子类栏目下取两篇文章

同sp_sql_posts_paged_bycatid($cid,$tag,$pagesize,$pagetpl):

sp_sql_posts_paged_bycatid($cid,$tag,$pagesize,$pagetpl)功能:

根据分类文章分类ID 获取该分类下所有文章(包含子分类中文章),已经分页,调用方式同sp_sql_posts_paged

参数:

$cid:分类id

$tag:查询标签,

以字符串方式传入,例:"order:post_date desc,listorder desc;"field:调用post指定字段,如(id,post_title...) 默认全部

;limit:数据条数,默认值为10,可以指定从第几条开始,如3,8(表示共调用8条,从第3条开始)

order:推荐方式(post_date) (desc/asc/rand())

$pagesize:每页显示文章数

$pagetpl:分页模板,{first}{prev}{list}{next}{last}

四、导航高亮显示方法(一级可用,二级以下不可用,)

1、themes/simplebootx/Public/nav.html

<div class="logoandnav">
<div class="left">
<div class="logo"> <img src="__TMPL__Public/assets/images/logo.png"> </div>
<div class="sitetitle">
<p>{$site_seo_title}</p>
<php>
$posts=sp_sql_posts('cid:7;field:post_keywords;order:listorder asc');
</php>
<span>{$posts[0]['post_keywords']}</span> </div>
</div>
<div class="right">
//生成导航的thinkcmf代码,导航开始
<?php
$effected_id="main-nav";
$filetpl="<a href='\$href' target='\$target'>\$label</a>";
$foldertpl="<a href='\$href' target='\$target' class='dropdown-toggle' data-toggle='dropdown'>\$label <b class='caret'></b></a>";
$dropdown='dropdown';
$ul_class="dropdown-menu";
$li_class="" ;
$style="nav";
$showlevel=6;
echo sp_get_menu("main",$effected_id,$filetpl,$foldertpl,$ul_class,$li_class,$style,$showlevel,$dropdown);
?>
//生成导航结束
</div>
</div>
<div class="clear"></div>
</div>
<!--banner-->
//以下为thinkcmf大图轮播
<div class="banner" id="banner">
<php>
$home_slides=sp_getslide("portal_index");
</php>
<foreach name="home_slides" item="vo">
<div class="banner-item">
<img src="{:sp_get_asset_upload_path($vo['slide_pic'])}" alt="">
</div>
</foreach>
<div class="banner_dl_room">
<div id="banner_dl"></div>
</div>

2.themes/simplebootx/Public/scripts.html

/*导航效果开始*/
gl();
var num=0;
function gl()
{
var myNav = $(".logoandnav .right li a"),i;
for(i=0;i<myNav.length;i++)
{
var links =myNav.eq(i).attr("href"),myURL =document.URL;
if(myURL.indexOf(links) != -1)
{
myNav.eq(i).parent().addClass("cur");
}
}
}
$(".logoandnav .right").mouseenter(function(e) {
$(this).children("ul").children("li").removeClass("cur");
}).mouseleave(function(){
gl();
});
/*导航效果结束*/

五、添加视频

1、把下载到的播放器放到__TMPL__/Public/assets底下

2、在head.html里面引入js文件

3、index.html

<div class="left">
<div class="video" id="CuPlayer" ></div> //给视频定一个外边框,且在js中也要用到class和id
<php>
$video=sp_sql_posts('cid:18;field:post_source,smeta;order:listorder asc');
</php>
<foreach name="video" item="vodio">
<php>$smeta=json_decode($vodio['smeta'],true);</php>
<script type="text/javascript">
var so = new SWFObject("__TMPL__Public/assets/video/player/player.swf","ply","363","248","9","#000000");
so.addParam("allowfullscreen","true");
so.addParam("allowscriptaccess","always");
so.addParam("wmode","opaque");
so.addParam("quality","high");
so.addParam("salign","lt");
so.addVariable("JcScpAutoPlay","no");//是否自动播放,默认Yes
//播放器配置文件-----------------------------
so.addVariable("JcScpFile","__TMPL__Public/assets/video/player/CuSunV3set.xml");//加载xml后辍的配置文件
so.addVariable("JcScpVideoPath","__TMPL__Public/assets/video/<?php echo $vodio['post_source'] ?>"); //视频地址,在后台来源里面(post_source)只写入视频的名称,如(aa.mp4),这种方法可以读到完整的视频路径
so.addVariable("JcScpImg","{:sp_get_asset_upload_path($smeta['thumb'])}");//视频图片、读取视频缩略图
so.write("CuPlayer");
</script>
</foreach>
</div>

________

ThinkCmfX模板常量的更多相关文章

  1. TP框架的模板路径问题以及常用的模板常量的定义

    在TP框架中,为了各个模块加载静态文件方便,往往是不需要按照默认的方式放置静态文件到/app/模块名/VIEWS/下面,而是在顶级目录下创建一个新的目录(比如说./tpl目录下),来存放静态文件   ...

  2. 结合自己的程序对thinkphp模板常量的理解

    先上个图,有时候路径很多,没理解会搞混,看手册的说明 页面login.html模板的访问路径为http://www.tp.com/index.php/admin/Manager/login,测试他的常 ...

  3. __PUBLIC__模板文件路径配置

    __PUBLIC__ 默认指向 项目文件下的Public文件夹 注意: __PUBLIC__不是一个常量,只在模板中进行替换,__ROOT__是一个常量 项目文件路径 defined('__PUBLI ...

  4. thinkphp在前端页面的js代码中可以使用 U方法吗? 可以使用模板变量如__URL__等吗?

    thinkphp在前端页面的js代码中可以使用 U方法吗? : 可以的! tp的U方法, 是"全局的", 什么是全局的? 就是, 可以在 "任何地方"使用的: ...

  5. thinkphp中常用的模板变量

    在thinkphp中的模板要加载静态文件如css,js等文件时要经常用到模板常量. 假如项目放在/web/shop中,则如下所示对应常量的输出值: 1 2 3 4 5 6 7 8 9 // 不含域名 ...

  6. (4)WePHP 模板引入CSS js

    模板有两个定义了两个常量 父类已经定义好了 //模板常量 $dirStr=dirname($_SERVER['SCRIPT_NAME']); $dirStr=$dirStr=='\\'?NULL:$d ...

  7. (2)WePHP 控制器与使用模板

    <?php class C_index extends Action { public function __initialize() { echo"自动执行"; } pub ...

  8. 【PHP 模板引擎】Prototype 原型版发布!

    在文章的开头,首先要向一直关注我的人说声抱歉!因为原本是打算在前端框架5.0发布之后,就立马完成 PHP 模板引擎的初版.但我没能做到,而且一直拖到了15年元旦才完成,有很严重的拖延症我很惭愧,再次抱 ...

  9. Thinkcmf 二次开发

    一.   创建模板 demo 1 Tpl下创建demo文件-----后台启用新的模板 (网站信息--模板方案) 2 在模板在tpl/demo目录下创建Portal目录,然后在Portal目录下创建in ...

随机推荐

  1. python 单步调试初探(未完待续)

    pdb 调试: import pdb pdb.set_trace()     pudb 调试: http://python.jobbole.com/82638/

  2. tomcat相关问题

    动态资源:需要转换成静态资源后再响应给客户端,例如:jsp.servlet,其他语言的动态资源有:asp.php 静态资源:无需转发即可直接响应给客户端,例如:html.css.javascript ...

  3. 【linux】su、sudo、sudo su、sudo -i的用法和区别

    来源:http://bbs.csdn.net/topics/390938651 sudo : 暂时切换到超级用户模式以执行超级用户权限,提示输入密码时该密码为当前用户的密码,而不是超级账户的密码.不过 ...

  4. s:select下拉框validation验证

    S:select下拉框验证: <td colspan="5"> <s:select name="vo.typeVO.corp" list=&q ...

  5. JS中修改属性

    <!DOCTYPE html><html><head> <meta http-equiv="Content-Type" content=& ...

  6. 开发常用之在webstorm中使用cmd

      而今前端开发经常与cmd打交道,如使用个npm什么的,如果老是在ide和cmd之间切换显得比较繁琐,众多前端利器中我最喜欢的就是webstorm,而webstorm中就可以直接使用cmd,如图1, ...

  7. Linux 任务控制

    Linux/Unix 提供了不同与 windows 的多任务处理,也提供一套用来切换前后台任务的命令 bg fg & Ctrl+z nohup sitsid Ctrl-Z 挂起程序 user@ ...

  8. 2016 Multi-University Training Contest 1 J.Subway

    Subway Time Limit: 7000/3500 MS (Java/Others)    Memory Limit: 262144/262144 K (Java/Others)Total Su ...

  9. js直接打印pdf文件内容

    (1)需求:是网页上打开一个pdf文件,然后直接打开打印机,就是直接打印,不用用户再次点击打印按钮,这样用户体验好 (2)经历: 我在网上找了资料就是使用window.print(),但是这个只是打印 ...

  10. css样式表分类、选择器分类、css基础样式

    1 . 样式表  Cascading Style Sheet      css优势: 内容与表现分离 网页的表现统一,容易修改 丰富的样式,使网页布局更加灵活 减少网页代码量,增加网页的浏览速度,节省 ...