打开/include/taglib/arclist.lib.php,我目前用的最新版5.7SP1,代码约位于295-296行。查找以下两行代码。if($CrossID=='')$orwheres[]='arc.typeidIN('.GetSonIds($typeid).')';else$orwheres[]='arc.typeidIN('.GetSonIds($typeid).','.$CrossID.')';将其替换成以下代码。if($CrossID=='')$orwheres[]='(arc.typeidIN('.GetSonIds($typeid).')ORarc.typeid2IN('.GetSonIds($typeid).'))';else$orwheres[]='(arc.typeidIN('.GetSonIds($typeid).','.$CrossID.')ORarc.typeid2IN('.GetSonIds($typeid).','.$CrossID.'))';适用于dede5.7
用iframe调用分两种方法,一种是调用自己可控的网页,另一种是调用不可控的网页。如果是自己调用自己的,那我们直接用锚连接就可以。具体方法:<iframesrc=你的网址#锚点></iframe>这样就可以了。在这其中可以设置自己的样式大小和宽度。另一种是调用别人的网页,我们不可控,没办法加锚点,怎么办呢?我们用下面的方法。<IFRAMEvspace=300hspace=”300″src=”你的网址”frameBorder=0scrolling=nowspace=”200″></IFRAME>这里面的内容都是什么呢?vspace是垂直方向移动;向上移动100像素格式是vspace=-100hspace是水平方向移动;向左移动100像素格式是hspace=-100width和marginWidth都是嵌入框架的宽度height和marginheight都是嵌入框架的高度scrolling是,是否显示下拉标识,”no”是隐藏,”yes”是显示leftmargin是距离左端的距离topmargin是距离上端的距离js操作iframe的一些知识1.打印iframeeg.frameName.document.execCommand(‘print’);2.获取iframeeg.varifr_window=window.frames["frameName"];3.获取iframe中的元素eg1.将iframe中id为elementId的元素置为不显示:varifr_window=window.frames["frameName"];ifr_window.elementId.style.display=‘none’;eg2.获取iframe中id为listTable的表格varoTable=window.frames["myFrame"].document.all.listTable;4.隐藏或显示表格的某列js函数:functionsetHiddenOrShowCol(oTable,iCol,type){for(i=0;i<oTable.rows.length;i++){oTable.rows[i].cells[iCol].style.display=type;}}调用举例,将id为listTable的表格元素的第4列置为不显示:varoTable=window.frames["myFrame"].document.all.listTable;setHiddenOrShowCol(oTable,3,‘none’);调用举例2,将id为listTable的表格元素的第4列置为显示:varoTable=document.frames.myFrame.document.all.listTable;setHiddenOrShowCol(oTable,3,‘block’);JS部分是在网上看到的,还没试呢,我正在和同事商量用JS+CSS来空间,用iframe调用,看会不会更人性化,对浏览器的兼容性好点。有试过的也可以来分享分享啊。可能看到上面不是很清楚,下面有个列子,可以更清楚的查看:<IFRAMEwidth="1010"height="2870"src="http://www.xyxdxl.com/guestbook/"frameBorder=0scrolling=novspace=-380hspace=-240></IFRAME>上面的width,height为宽高,vspace为把网页上面的部分去掉380像素,hspace左边去掉240像素,得到网页。
首次上传缩略图不加水印方法:dede/article_add.php这是添加时搜$litpic=GetDDImage('none',$picname,$ddisremote);之下加if($cfg_album_mark=="Y")WaterImg($cfg_basedir.$litpic);dede/article_edit.php这是编辑时搜$litpic=GetDDImage('none',$picname,$ddisremote);之下加if($cfg_album_mark=="Y")WaterImg($cfg_basedir.$litpic);完美解决方法:dede5.7缩略图无论是否打勾都自动加水印的解决方法dede5.7缩略图无论是否打勾都自动加水印,在未启动水印功能前可能不会出现这个问题,但启用后,只要是想上传超过后台设定的最小宽高的图片,都会自动带上水印.缩略图的上传过程不是启用SWF上传的,所以,需要找到相应的PHP上传过程,经Sundy网上搜索后,无解决方案,最后自己查找原因.问题出在\include\dialog\select_images_post.php文件里,因为\include\dialog\select_images.php文件里有一个勾选是否加上水印的复选框,但相应提交到的PHP没有处理这一个表单项,故解决方案出现.找到if(in_array($imgfile_type,$cfg_photo_typenames)){WaterImg($fullfilename,'up');}修改成if(in_array($imgfile_type,$cfg_photo_typenames)){if($needwatermark==1){WaterImg($fullfilename,'up');}}问题解决,这样后台可以对单独上传的任何一个缩略图指定是否添加水印.
[field:picname/]:用于dede:arclist中,调用图片SRC地址[field:arcurl/]:用于dede:arclist中,调用文章URL链接[field:title/]:用于dede:arclist中,调用文章标题([field:pubdatefunction=MyDate('m-d',@me)/]):调用如:(10-15)时间,用于dede:arclist中([field:pubdatefunction=MyDate('Y-m-d',@me)/]):调用如:(2010-10-15)时间,用于dede:arclist中([field:pubdatefunction="GetDateTimeMK(@me)"/]):调用如:(2010-10-1514:36:08)时间,用于dede:arclist中[field:typename/]:用于dede:arclist中,调用当前文章的栏目名称[field:typeurl/]:用于dede:arclist中,调用当前文章的栏目链接[field:click/]:文章点击数[field:descriptionfunction='cn_substr(@me,60)'/]:用于dede:arclist中,调用文章描述,其中60为字节限制[field:info/]:描述{dede:fieldname='typename'/}:当前栏目名称标签{dede:fieldname='position'/}:当前位置调用标签[field:typelink/]:当前文章栏目名称和链接[field:description/]:当前文章描述[field:typename/]:文章列表页调用当前栏目名称(无链接)titlelen='100':限制标题长度{dede:tagsort='new'getall='0'}<ahref='[field:link/]'>[field:tag/]</a>{/dede:tag}:tag标签并且加链接(须有taglist.htm)tag首页或列表页调用:http://hi.baidu.com/mvphk/blog/item/314e7ad47a1ab4db50da4b2b.html最新标签{dede:tagrow='30'sort='new'}[field:highlight/]([field:result/]){/dede:tag}当月热门标签{dede:tagrow='30'sort='month'}[field:tagname/]([field:result/]){/dede:tag}随机标签{dede:tagrow='60'sort='rand'}[field:highlight/]([field:result/]){/dede:tag}内容页tag添加:{dede:tagtype='current'/}路径类:{dede:global.cfg_memberurl/}会员中心对应/member/{dede:global.cfg_cmsurl/}安装目录,根目录对应/{dede:global.cfg_dataurl/}data目录对应/data/{dede:global.cfg_basehost/}网站地址:对应http://www.597tao.com{dede:global.cfg_templeturl/}对应网站模板目录对应/templets分站应用:{dede:channeltype='son'}<li><ahref='[field:typeurl/]'>[field:typename/]</a></li>{/dede:channel}当前栏目的栏目列表{dede:typetypeid='1'}<ahref="[field:typelink/]">[field:typename/]</a>{/dede:type}指定栏目链接-----------------------获取二级以上栏目的栏目链接名称----------------------------------------------------{dede:type}[field:idrunphp=yes]$tsql=newDedeSql(false);$typelink2='';$tsql->SetQuery("Selecti.siteurl,i.id,i.typenameFromtleftjoinioni.id=t.reidwheret.id='@me'");$tsql->Execute('t');while($row=$tsql->GetArray('t',MYSQL_ASSOC)){$typelink2.="<ahref='".$row['siteurl']."'>".$row['typename']."</a>";}@me=str_replace("{cmspath}","",$typelink2);[/field:id]{/dede:type}-------------------------------获取二级以上栏目的上级栏目链接名称--------------------------------------------------------获取二级以上栏目的上级栏目名称----------------------------------------------------{dede:type}[field:idrunphp=yes]$tsql=newDedeSql(false);$typelink2='';$tsql->SetQuery("Selecti.siteurl,i.id,i.typenameFromtleftjoinioni.id=t.reidwheret.id='@me'");$tsql->Execute('t');while($row=$tsql->GetArray('t',MYSQL_ASSOC)){$typelink2.="".$row['typename']."";}@me=str_replace("{cmspath}","",$typelink2);[/field:id]{/dede:type}-------------------------------获取二级以上栏目的上级栏目名称----------------------------------------------------------------获取二级以上栏目的上级栏目链接---------------------------------{dede:type}[field:idrunphp=yes]$tsql=newDedeSql(false);$typelink2='';$tsql->SetQuery("Selecti.siteurl,i.id,i.typenameFromtleftjoinioni.id=t.reidwheret.id='@me'");$tsql->Execute('t');while($row=$tsql->GetArray('t',MYSQL_ASSOC)){$typelink2.="".$row['siteurl']."";}@me=str_replace("{cmspath}","",$typelink2);[/field:id]{/dede:type}-------------------------------获取二级以上栏目的上级栏目链接---------------------------------获取当前栏目的链接地址:你的网站主域名/{dede:fieldname="arcurl"/}{dede:fieldname="arcurl"/}在dede5.7的文章页使用{dede:fieldname="arcurl"/}即可得到dede当前文章页url链接---------------------------------------------------------------------------------------------------dede当前栏目名称和栏目的链接{dede:type}<ahref="[field:typelink/]">[field:typename/]</a>{/dede:type}————————————————————————————————————————总点击排行:{dede:arclistrow=20titlelen=24orderby=click}·[field:textlink/]([field:pubdatefunction=strftime('%m-%d',@me)/])<br/>{/dede:arclist}月点击排行:{dede:arclistrow=20titlelen=24orderby=clicksubday=30}·[field:textlink/]([field:pubdatefunction=strftime('%m-%d',@me)/])<br/>{/dede:arclist}周点击排行:{dede:arclistrow=20titlelen=24orderby=clicksubday=7}·[field:textlink/]([field:pubdatefunction=strftime('%m-%d',@me)/])<br/>{/dede:arclist}日点击排行:{dede:arclistrow=20titlelen=24orderby=clicksubday=1}·[field:textlink/]([field:pubdatefunction=strftime('%m-%d',@me)/])<br/>{/dede:arclist}----------------------------------先进玩意-----------------------------------------------------------------[field:globalname=autoindex/]递增标签——http://hi.baidu.com/mvphk/blog/item/3740303c586447ce3c6d97ab.htmlnoflag='h'不是头条的infolen='110'描述字数110----------------------------------优化可能用到的----------------------------------------------------1.列表页中使用{dede:field.content/},第一页显示,第二页以上不显示~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~注意:只针对最新dedecms5.7 第一步:找到修改文件arc.listview.class.php 第二步:273行$this->ParseTempletsFirst();删除掉 第三步:299行找到$this->ParseDMFields($this->PageNo,1);回车插入$this->ParseTempletsFirst($this->PageNo); 第四步:找到functionParseTempletsFirst()改成functionParseTempletsFirst($now_page) 第五步:找到550行$GLOBALS['envs']['cross']=1;回车插入if($now_page>=2)$this->Fields['content']="";~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~dede:arclist调用自定义字段addfields='add1,add2,需要查询出来的自定义字段名'channelid='自定义内容模型的ID'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~简略标题简略标题调用:{dede:field.shorttitle/}不能在{dede:arclist}标签中套用,一般放在网页titile处简略标题调用[field:shorttitle/]这个可以在{dede:arclist}标签中套用,一般用在栏目列表。当有简略标题时显示简略标题,没有简略标题时显示正标题 {dede:fieldname=’array’runphp=’yes’}if(@me['shorttitle']==”)@me=@me['title'];else@me=@me['shorttitle'];{/dede:field}这个不能在{dede:arclist}标签中套用,一般放在网页titile处;当有简略标题时显示简略标题,没有简略标题时显示正标题可以在{dede:arclist}标签中套用,一般用在栏目列表。 [field:arrayrunphp='yes']if(@me['shorttitle']==”)@me=@me['title'];else@me=@me['shorttitle'];[/field:array]简略标题字数修改: 简略标题的字数是做了限制的,可以在管理目录dede文件夹下找到下面5个文件: archives_add.php,archives_do.php,archives_edit.php,article_add.php,article_edit.php 然后分别在文件中找到代码: $shorttitle=cn_substrR($shorttitle,36); 把36改成100就可以了。~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~dede5.7调用二级栏目下的子栏目{dede:channelartlisttypeid='1,2,3...'}<ahref="{dede:fieldname='typeurl'/}">{dede:fieldname='typename'/}</a><hr><!--这里我们加一个横线,已区分顶级栏目、子栏目,此处为注释文字,可以删除-->{dede:channeltype='son'noself='yes'}<ahref="[field:typelink/]">[field:typename/]</a><br/>{/dede:channel}{/dede:channelartlist}其中{dede:channelartlisttypeid='1,2,3...'}数字填写要调用的顶级栏目的ID~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
tipask我想很多人都知道,一个在问答系统里比较不错的问答程序,但是我接触它的时候已经是2012了,试用了下感觉还不错,但是看到官方的论坛被关闭了,再去百度了下相关的帮助文档,该程序在网上的说明也比较少,这就意味着用这个程序,很多问题得靠自己解决了。今天做一门户网站程序,用到了它,问答系统需要伪静态,tipask是有伪静态功能的,但是在网上找了下,没有找到伪静态规则,更别说是iis的httpd.ini文件了。无奈,只好自己动手写伪静态了。看了下程序伪静态的地方并不多,三行伪静态搞定,如下:RewriteRule/q-(.*).html/index.php\?question\/view\/$1[L]RewriteRule/c-all.html/\?c-all\/all.html[L]RewriteRule/c-(.*).html/\?c-$1.html[L]有需要的朋友也可以直接在附件下载。
今天有个网站需要首页自动更新,在网上找了很多dede自动更新的文章,但是却很多没有作用。经过寻找最终发现一个可以满足我的需求的方法,以下为我精简后的方法步骤:1.后台SQL命令行工具,执行下面一句ALTERTABLE`你的数据库前缀_homepageset`ADD`automaketime`INT(30)NOTNULLDEFAULT’3600′AFTER`position`;这句话我没有运行成功,如果运行不成功,可以试试执行:ALTERTABLE`你的数据库前缀_homepageset`ADD`automaketime`INT(30)NOTNULL;如果还是不不成功,可以自己去数据库的你的数据库前缀_homepageset表加个automaketime字段。新建一个文本文件并命名为:auto_create_indexhtml.php,写入如下代码,上传到/plus/目录中:<?phpdefine('DEDEADMIN',ereg_replace("[/\\]{1,}",'/',dirname(__FILE__)));require_once(DEDEADMIN."/../include/common.inc.php");require_once(DEDEINC."/arc.partview.class.php");functionsp_input($text){$text=trim($text);$text=htmlspecialchars($text);if(!get_magic_quotes_gpc())returnaddslashes($text);elsereturn$text;}$row=$dsql->GetOne("Select*From`你的数据库前缀_homepageset`");$dsql->Close();$templet=$row['templet'];//这里从数据库里面读取首页模板位置$position=$row['position'];$autotime=$row['automaketime'];//从数据库里面读取自动更新时间,单位为秒。$fpath="../data/last_time.inc";//记录更新时间文件,如果不能达到目的,请检查是否有读取权限。include($fpath);if(empty($last_time))$last_time=0;if(sp_input($_GET['renew'])=="now")$last_time=0;if((time()-$last_time)>=$autotime){$homeFile=dirname(__FILE__)."/".$position;$homeFile=str_replace("\\","/",$homeFile);$homeFile=str_replace("//","/",$homeFile);$pv=newPartView();$pv->SetTemplet($cfg_basedir.$cfg_templets_dir."/".$templet);$pv->SaveToHtml($homeFile);$pv->Close();$file=fopen($fpath,"w");fwrite($file,"<?php\n");fwrite($file,"\$last_time=".time().";\n");fwrite($file,'?>');fclose($file);}?>上面这个文件就是我们的程序,接下来我们还要调用。下面我们把它集成到后台:打开/dede/makehtml_homepage.php大概在36行找到:$iquery="UPDATE`9aipc_homepageset`SETtemplet='$templet',position='$position'";替换为:$iquery="UPDATE`9aipc_homepageset`SETtemplet='$templet',position='$position',automaketime='$automaketime'";然后保存。打开/dede/templets/makehtml_homepage.html大概在46行找到:<tr><tdheight="20"valign="top"bgcolor="#FFFFFF">主页位置:</td><tdheight="20"valign="top"bgcolor="#FFFFFF"><inputname="position"type="text"id="position"value="<?phpecho$row['position']?>"size="30"></td></tr>在其下面增加这一段<tr><tdheight="20"valign="top"bgcolor="#FFFFFF">主页自动生成间隔时间:</td><tdheight="20"valign="top"bgcolor="#FFFFFF"><inputname="automaketime"type="text"id="automaketime"value="<?phpecho$row['automaketime']?>"size="30">(秒)</td></tr>然后保存。现在打开你的模版首页。在<head></head>中间增加这段JS<scriptsrc=”{dede:global.cfg_cmspath/}/plus/auto_create_indexhtml.php”language=”javascript”></script>到后台生成下首页就行了。后台是可以设置首页自动更新时间的,以秒为单位。
dede幻灯不是很好看,但也不是很丑,应用比较普及,尤其是企业网站经常用到dede的幻灯,因为只需要加个flash文件和一段js代码即可,大小颜色等都可以自己定义,相当的方便,企业网站幻灯必备,但是由于它的不起眼,经常也没有人去专门记载这样的代码,现在网上关于dede的幻灯片代码相当的多,但是能用的却不多,可以自由设置的就更少了,而且由于dede的代码经常有人改动,导致网上看到的代码也花样繁多,这里只提供经典代码,供你不时之需。<scripttype="text/javascript">varswf_width=1000;varswf_height=272;varconfig='3|0xffffff|0x5EBCFB|70|0xffffff|0x0099ff|0x000000';//--config参数设置--自动播放时间(秒)|文字颜色|文字背景色|文字背景透明度|按键数字颜色|当前按键颜色|普通按键色彩--varfiles='',links='',texts='1';files+='|admin/pic/201273102057654.jpg';links+='#|';texts+='|';files+='|admin/pic/20127310227316.jpg';links+='#|';texts+='|';files+='|admin/pic/201273102716507.jpg';links+='#|';texts+='|';files=files.substring(1);links=links.substring(1);texts=texts.substring(1);document.write('<objectclassid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0"width="'+swf_width+'"height="'+swf_height+'">');document.write('<paramname="movie"value="/images/focus.swf"/>');document.write('<paramname="quality"value="high"/>');document.write('<paramname="menu"value="false"/>');document.write('<paramname=wmodevalue="opaque"/>');document.write('<paramname="FlashVars"value="config='+config+'&bcastr_flie='+files+'&bcastr_link='+links+'&bcastr_title='+texts+'"/>');document.write('<embedsrc="/images/focus.swf"wmode="opaque"FlashVars="config='+config+'&bcastr_flie='+files+'&bcastr_link='+links+'&bcastr_title='+texts+'&menu="false"quality="high"width="'+swf_width+'"height="'+swf_height+'"type="application/x-shockwave-flash"pluginspage="http://www.macromedia.com/go/getflashplayer"/>');document.write('</object>');</script>附件里有详细代码和flash文件,保证你的运用正常.
有一个变量aphp判断当前url是否包含“jiaocheng”字符如果包含则a为“<ahref="www.baidu.com">baidu</a>”如果不包含a为“<ahref="www.google.com">google</a>”答案:<?phpif(strpos($_SERVER['REQUEST_URI'],'jiaocheng')!==false)$a='<ahref="www.baidu.com">baidu</a>';else$a='<ahref="www.google.com">google</a>';echo$a;?>感谢http://topic.csdn.net/u/20120727/15/6af30d3f-3dc8-4145-9174-4e7b38c9bccc.html