2014-2-16 3051 0
源码

1.首先修改plus/diy.php在if($fieldinfo[1]=='textdata'){${$fieldinfo[0]}=FilterSearch(stripslashes(${$fieldinfo[0]}));${$fieldinfo[0]}=addslashes(${$fieldinfo[0]});}后面添加if($fieldinfo[0]=='ip'){${$fieldinfo[0]}=GetIP();}if($fieldinfo[0]=='time'){${$fieldinfo[0]}=date("Y-m-dH:i:s");}if($fieldinfo[0]=='laiyuanyemian'){${$fieldinfo[0]}=curPageURL();}2.在plus/diy.php上方添加以下代码,如果要获取来源地址的话<?php//说明:获取完整URLfunctioncurPageURL(){$pageURL='http';if($_SERVER["HTTPS"]=="on"){$pageURL.="s";}$pageURL.="://";if($_SERVER["SERVER_PORT"]!="80"){$pageURL.=$_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"];}else{$pageURL.=$_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];}return$pageURL;}?>在自定义字段里添加字段IP地址:ip提交时间:time(字段名称一定要和diy.php添加的字段名一致)在表单中调取<inputname="ip"id="ip"value=""type="hidden"><inputname="time"id="time"value=""type="hidden">type='hidden'为隐藏字段,在前端不显示,用户提交后台会自动获取IP和时间选自:http://www.aiffo.com/z/dede/43.html以上信息如果获取不到来源页面还有以下思路,已经亲测成功:在if($fieldinfo[1]=='textdata'){${$fieldinfo[0]}=FilterSearch(stripslashes(${$fieldinfo[0]}));${$fieldinfo[0]}=addslashes(${$fieldinfo[0]});}后面添加if($fieldinfo[0]=='ip'){${$fieldinfo[0]}=GetIP();}if($fieldinfo[0]=='time'){${$fieldinfo[0]}=date("Y-m-dH:i:s");}if($fieldinfo[0]=='laiyuanyemian'){${$fieldinfo[0]}=$_SERVER['HTTP_REFERER'];}然后表单字段设置为laiyuanyemian即可2018.06.23

源码

dedecms的arclist标签下调用自定义字段{dede:arclistpagesize='12'typeid='10'channelid='2'addfields='wuxing,shuzi,ptitle,palt,tlink'}<dd><ahref="http://[field:tlink/]"><imgclass="img"src="[field:litpic/]"alt="[field:palt/]"title="[field:ptitle/]"/></a></dd><ul><li><ahref="http://[field:tlink/]"title="[field:ptitle/]">[field:title/]</a></li><li><imgsrc="/image/sc.jpg"alt=""title=""></li><li>[field:description/]</li><li><spanclass="red">[field:wuxing/]</span><br><li><spanclass="red">[field:shuzi/]</span></li><p><ahref="http://[field:tlink/]"target="_blank"><imgsrc="/image/xq.gif"alt="查看详情"title="查看详情"></a></p></ul>{/dede:arclist}注:要获取附加表内容,必须符合两个条件1、指定channelid属性2、指定要获得的字段addfields='字段1,字段'如:{dede:arclistaddfields='filetype,language,softtype'row='8'channelid='3'}[field:textlink/]-[field:softtype/]<br/>{/dede:arclist}dedecms高级搜索调用缩略图{dede:fieldname='litpic'/}dedecms去后台验证码DATA文件夹里的\safe\inc_safe_config.php$safe_gdopen=’1,2,3,4,5,6′;这句代码“6”删除了,就可以了。dedecms密码重置见附件:radminpass.rardede的php当前时间加/减天当前时间:{dede:phprunphp='yes'}$ntime=time();@me=MyDate('Y-m-d',$ntime);{/dede:php}当前时间减1天:{dede:phprunphp='yes'}$ntime=time();@me=MyDate('Y-m-d',strtotime('-1day'),$ntime);{/dede:php}详情查看php的strtotime()函数。dede自定义表单提交后直接弹出对话框plus/diy.php查找$goto='/';$bkmsg='发布成功,请等待管理员处理...';修改为:echo'<script>alert("发布成功,请等待管理员处理...");history.go(-1);</script>';dede后台自定义表单一页显示50条后台/diy_list.php查找$datalist->pageSize=10;修改为:$datalist->pageSize=50;dede后台自定义表单全选功能后台/templets/diy_list.htm查找<b>内容列表</b>在后添加:<script>functionSelectAll(){varcheckboxs=document.getElementsByName("id[]");for(vari=0;i<checkboxs.length;i++){vare=checkboxs[i];e.checked=!e.checked;}}</script><ahref="#"onclick="SelectAll()">全选/反选</a>dede标题不受字数限制[field:fulltitle/]其中titlelen=’24′控制的是标题[field:title/]的字数为12个汉字,[field:fulltitle/]控制鼠标划过时提示完整标题名称。这样,无论是搜索引擎还是目标访客都相当友好了dede按权重排序{dede:arclistrow='10'titlelen='34'isweight="Y"orderby='weight'typeid='3'idlist=''}我们在使用orderby='weight'时需要在前面加上isweight="Y"来开启权重的使用参考:http://jingyan.baidu.com/article/93f9803f0efb98e0e46f552c.html{dede:list}增加按权重排序标签1、打开\include\目录中的arc.listview.class.php文件,搜索“排序方式”,然后在elseif($orderby=="lastpost"){$ordersql="orderbyarc.lastpost$orderWay";}elseif($orderby=="weight"){$ordersql="orderbyarc.weightasc";}else{$ordersql="orderbyarc.sortrank$orderWay";}这段代码中间添加以上红色代码。4、向下找到if(ereg('hot|click|lastpost',$orderby))或者是if(preg_match('/hot|click|lastpost/',$orderby))修改成if(ereg('hot|click|lastpost|weight',$orderby))或者是if(preg_match('/hot|click|lastpost|weight/',$orderby)),保存文件。这个时候在列表页里就可以使用{dede:listpagesize='5'orderby='weight'}进行排序了。dede导航栏顶级栏目和二级栏目同时调用{dede:channelartlisttypeid='top'}<ahref="{dede:fieldname='typeurl'/}">{dede:fieldname='typename'/}</a>{dede:channeltype='son'noself='yes'}<div><ahref="[field:typelink/]">[field:typename/]</a></div>{/dede:channel}{/dede:channelartlist}自定义模型,在arclist中调用自定义字段只需要在arclist中增加两个属性:1.channelid也就是模型的id,必须2.addfields需要调用的字段名,必须例如:{dede:arclistchannelid=18addfields='stname'}stname:[field:stname/]{/dede:arclist}注意,需要在模型设置中,对应的字段开启“允许在列表底层中调用,默认只在文档模板中调用”的选项dede数字递增,+后面加数字[field:globalname=autoindexrunphp="yes"]@me=@me+1;[/field:global]清空DEDE自定义表单所有数据TRUNCATETABLE`dede_diyform1;直接调用上一篇地址和下一篇地址的代码如下上一篇地址{dede:prenextget='pro'runphp="yes"}preg_match_all('/<a.*?(?:|\\t|\\r|\\n)?href=[\'"]?(.+?)[\'"]?(?:(?:|\\t|\\r|\\n)+.*?)?>(.+?)<\/a.*?>/sim',@me,$strResult,PREG_PATTERN_ORDER);@me=$strResult[1][0];{/dede:prenext}下一篇地址{dede:prenextget='next'runphp="yes"}preg_match_all('/<a.*?(?:|\\t|\\r|\\n)?href=[\'"]?(.+?)[\'"]?(?:(?:|\\t|\\r|\\n)+.*?)?>(.+?)<\/a.*?>/sim',@me,$strResult,PREG_PATTERN_ORDER);@me=$strResult[1][0];{/dede:prenext}dede调用二三级菜单{dede:channelartlisttypeid='11'}<liclass="por_content_c"><ahref="{dede:fieldname='typeurl'/}"title="{dede:fieldname='typename'/}">{dede:fieldname='typename'/}</a></li>{dede:sqlsql='Select*from#@__arctypewherereid=~id~ORDERBYidlimit0,200'}<liclass="por_content_c1"><ahref="[field:typedir/]/">[field:typename/]</a></li>{/dede:sql}{/dede:channelartlist}id为需要调用二三级菜单的一级菜单ID如果单独指定调用一个或者多个栏目的话{dede:channelartlisttypeid='1,2'}在里面指定你需要调用的id即可,如:{dede:channelartlisttypeid='1'}<liclass="por_content_c2"><ahref="{dede:fieldname='typeurl'/}"title="{dede:fieldname='typename'/}">{dede:fieldname='typename'/}</a></li>{/dede:channelartlist}也可以用sql直接调用单独栏目的子栏目附带一些css容易忘的:鼠标移动变小手:style="cursor:pointer;

源码

方法一:特点,简单,省心,只适用windows服务器以下为引用的内容:<?phpheader("Content-type:application/vnd.ms-excel");header("Content-Disposition:attachment;filename=test_data.xls");$tx='表头';echo$tx."\n\n";//输出内容如下:echo"姓名"."\t";echo"年龄"."\t";echo"学历"."\t";echo"\n";echo"张三"."\t";echo"25"."\t";echo"本科"."\t";?>方法二:引用googlecode中推荐的小类库(大体同方法一,比较复杂点)下载地址:http://code.google.com/p/php-excel/downloads/list方法三:PHPEXCEL类库,功能强大,操作excel很方便,尤其是可以方便的加入图片,支持jpggifpng格式,支持winExcel2003,WinExcel2007.下载地址:http://www.codeplex.com/PHPExcel下面是总结的几个使用方法001<?002/**003*以下是使用示例,对于以////开头的行是不同的可选方式,请根据实际需要004*打开对应行的注释。005*如果使用Excel5,输出的内容应该是GBK编码。006*/007008include'PHPExcel.php';009010include'PHPExcel/Writer/Excel2007.php';011012//或者include'PHPExcel/Writer/Excel5.php';用于输出.xls的013014//uncomment015////require_once'PHPExcel/Writer/Excel5.php';//用于其他低版本xls016//or017////require_once'PHPExcel/Writer/Excel2007.php';//用于excel-2007格式018019//创建一个处理对象实例020$objExcel=newPHPExcel();021022//创建文件格式写入对象实例,uncomment023////$objWriter=newPHPExcel_Writer_Excel5($objExcel);//用于其他版本格式024//or025////$objWriter=newPHPExcel_Writer_Excel2007($objExcel);//用于2007格式026//$objWriter->setOffice2003Compatibility(true);027028//*************************************029//设置文档基本属性030$objProps=$objExcel->getProperties();031$objProps->setCreator("ZealLi");032$objProps->setLastModifiedBy("ZealLi");033$objProps->setTitle("OfficeXLSTestDocument");034$objProps->setSubject("OfficeXLSTestDocument,Demo");035$objProps->setDescription("Testdocument,generatedbyPHPExcel.");036$objProps->setKeywords("officeexcelPHPExcel");037$objProps->setCategory("Test");038039//*************************************040//设置当前的sheet索引,用于后续的内容操作。041//一般只有在使用多个sheet的时候才需要显示调用。042//缺省情况下,PHPExcel会自动创建第一个sheet被设置SheetIndex=0043$objExcel->setActiveSheetIndex(0);044045046$objActSheet=$objExcel->getActiveSheet();047048//设置当前活动sheet的名称049$objActSheet->setTitle('测试Sheet');050051//*************************************052//设置单元格内容053//054//由PHPExcel根据传入内容自动判断单元格内容类型055$objActSheet->setCellValue('A1','字符串内容');//字符串内容056$objActSheet->setCellValue('A2',26);//数值057$objActSheet->setCellValue('A3',true);//布尔值058$objActSheet->setCellValue('A4','=SUM(A2:A2)');//公式059060//显式指定内容类型061$objActSheet->setCellValueExplicit('A5','847475847857487584',062PHPExcel_Cell_DataType::TYPE_STRING);063064//合并单元格065$objActSheet->mergeCells('B1:C22');066067//分离单元格068$objActSheet->unmergeCells('B1:C22');069070//*************************************071//设置单元格样式072//073074//设置宽度075$objActSheet->getColumnDimension('B')->setAutoSize(true);076$objActSheet->getColumnDimension('A')->setWidth(30);077078$objStyleA5=$objActSheet->getStyle('A5');079080//设置单元格内容的数字格式。081//082//如果使用了PHPExcel_Writer_Excel5来生成内容的话,083//这里需要注意,在PHPExcel_Style_NumberFormat类的const变量定义的084//各种自定义格式化方式中,其它类型都可以正常使用,但当setFormatCode085//为FORMAT_NUMBER的时候,实际出来的效果被没有把格式设置为"0"。需要086//修改PHPExcel_Writer_Excel5_Format类源代码中的getXf($style)方法,087//在if($this->_BIFF_version==0x0500){(第363行附近)前面增加一088//行代码:089//if($ifmt==='0')$ifmt=1;090//091//设置格式为PHPExcel_Style_NumberFormat::FORMAT_NUMBER,避免某些大数字092//被使用科学记数方式显示,配合下面的setAutoSize方法可以让每一行的内容093//都按原始内容全部显示出来。094$objStyleA5095->getNumberFormat()096->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_NUMBER);097098//设置字体099$objFontA5=$objStyleA5->getFont();100$objFontA5->setName('CourierNew');101$objFontA5->setSize(10);102$objFontA5->setBold(true);103$objFontA5->setUnderline(PHPExcel_Style_Font::UNDERLINE_SINGLE);104$objFontA5->getColor()->setARGB('FF999999');105106//设置对齐方式107$objAlignA5=$objStyleA5->getAlignment();108$objAlignA5->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_RIGHT);109$objAlignA5->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);110111//设置边框112$objBorderA5=$objStyleA5->getBorders();113$objBorderA5->getTop()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);114$objBorderA5->getTop()->getColor()->setARGB('FFFF0000');//color115$objBorderA5->getBottom()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);116$objBorderA5->getLeft()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);117$objBorderA5->getRight()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);118119//设置填充颜色120$objFillA5=$objStyleA5->getFill();121$objFillA5->setFillType(PHPExcel_Style_Fill::FILL_SOLID);122$objFillA5->getStartColor()->setARGB('FFEEEEEE');123124//从指定的单元格复制样式信息.125$objActSheet->duplicateStyle($objStyleA5,'B1:C22');126127128//*************************************129//添加图片130$objDrawing=newPHPExcel_Worksheet_Drawing();131$objDrawing->setName('ZealImg');132$objDrawing->setDescription('ImageinsertedbyZeal');133$objDrawing->setPath('./zeali.net.logo.gif');134$objDrawing->setHeight(36);135$objDrawing->setCoordinates('C23');136$objDrawing->setOffsetX(10);137$objDrawing->setRotation(15);138$objDrawing->getShadow()->setVisible(true);139$objDrawing->getShadow()->setDirection(36);140$objDrawing->setWorksheet($objActSheet);141142143//添加一个新的worksheet144$objExcel->createSheet();145$objExcel->getSheet(1)->setTitle('测试2');146147//保护单元格148$objExcel->getSheet(1)->getProtection()->setSheet(true);149$objExcel->getSheet(1)->protectCells('A1:C22','PHPExcel');150151152//*************************************153//输出内容154//155$outputFileName="output.xls";156//到文件157//$objWriter->save($outputFileName);158159//到浏览器160header("Content-Type:application/force-download");161header("Content-Type:application/octet-stream");162header("Content-Type:application/download");163header('Content-Disposition:inline;filename="'.$outputFileName.'"');164header("Content-Transfer-Encoding:binary");165header("Expires:Mon,26Jul199705:00:00GMT");166header("Last-Modified:".gmdate("D,dMYH:i:s")."GMT");167header("Cache-Control:must-revalidate,post-check=0,pre-check=0");168header("Pragma:no-cache");169$objWriter->save('php://output');170171?>

2013-12-19 3382 0
2013-11-6 2881 0
2013-10-15 3247 0