dede专题模型没有跳转
摘要:文章目录索引(?) [-] 文章简介 适用范围及演示系统 dede专题模型没有跳转解决方法文章简介一般来说企业网站都有很多专题,如果专题偶尔需要修改一些标题或是其他东西而不建成模板可...
发布日期:2018-04-25文章目录索引(?) [-]
- 文章简介 适用范围及演示系统 dede专题模型没有跳转解决方法
文章简介
一般来说企业网站都有很多专题,如果专题偶尔需要修改一些标题或是其他东西而不建成模板可能就比较麻烦,而有时一些栏目就必须需要一些专题,或是只要一个栏目名却指定特定的地址,但是dede专题模型没有跳转怎么办呢?
因为系统文章系统分面问题,本文代码把#P# 改成*p*,大家看的时候,可自行修改成#P#即可。
适用范围及演示系统
适用范围:dede各版本(其他版本未做测试,大家可按本文自行修改)
演示系统:dede5.7
dede专题模型没有跳转解决方法
第1步:打开dede后台目录下的添加专题模板文件,文件名为“/dede/templets/spec_add.htm”。
第2步:在sped_add.htm文件中找到第114行,也就是自定义属性这里,把官方默认的php代码修改成以下代码。
- <?php$dsql->SetQuery("Select*From`dede_arcatt`orderbysortidasc");
- $dsql->Execute();while($trow=$dsql->GetObject())
- {if($trow->att=="j")
- echo"<inputclass="np"type="checkbox"name="flags[]"id="flags{$trow->att}"value="{$trow->att}"onclick="ShowUrlTr()">{$trow->attname}[{$trow->att}]";else
- echo"<inputclass="np"type="checkbox"name="flags[]"id="flags{$trow->att}"value="{$trow->att}">{$trow->attname}[{$trow->att}]";}
- ?>
第3步:加完后,在第127行(</tr>后),加上以下代码。
- <tr><tdheight="24"colspan="4"class="bline"id="redirecturltr"style="display:none">
- <tablewidth="800"border="0"cellspacing="0"cellpadding="0"><tr>
- <tdwidth="90"> 跳转网址:</td><td>
- <inputname="redirecturl"type="text"id="redirecturl"style="width:300px"value=""/></td>
- </tr></table>
- </td></tr>
电脑维修技术网注:如果不加上以上代码,那么在dede后台添加新的专题点击跳转网址时,就不会出现跳转网址的文本框了。
第4步:打开dede后台目录下的添加专题php文件,文件名为“/dede/spec_add.php”。
第5步:在spec_add.php文件中找到第188行代码那里(可在文件中搜索 处理图片文档的自定义属性 即可搜索到),在原本缩略图下再添加一个跳转的代码判断,具体代码如下所示。
- if($litpic!=""&&!preg_match("*p*",$flag)){
- $flag=($flag==""?"p":$flag.",p");}
- if($redirecturl!=""&&!preg_match("#j#",$flag)){
- $flag=($flag==""?"j":$flag.",j");}
第6步:在sped_add.php文件中找到第199行代码(可全文搜索 加入附加表 下面一行即可),修改代码如下。
- $inQuery="INSERTINTO`dede_addonspec`(aid,typeid,userip,templet,note{$inadd_f},redirecturl)VALUES("$arcID","$typeid","$useip","$templet","$notelist"{$inadd_v},"$redirecturl");";
电脑维修技术网注:原本SQL语句中是没有添加redirecturl这个字段的,这里修改的SQL语句就是添加上了。
第7步:到此为止,如果大家在dede后台发布专题页时,添加新的专题时跳转就有了,而且添加后,数据库也有了,下面就是在修改专题页时也加上跳转(默认也是没有跳转的)。
第8步:打开dede后台目录下的修改专题模板文件,文件名为“/dede/templets/spec_edit.htm”。
第9步:在spec_edit.htm文件中找到自定义属性(第124行),把下面的的php代码替换为以下代码。原文网址http://www.pc811.com/6/7/26211.html
- <?php$dsql->SetQuery("SELECT*FROM`dede_arcatt`ORDERBYsortidASC");
- $dsql->Execute();while($trow=$dsql->GetObject())
- {if($trow->att=="j")$jumpclick="onclick="ShowUrlTr()"";
- else$jumpclick="";if(preg_match("#".$trow->att."#",$arcRow["flag"]))
- echo"<inputclass="np"type="checkbox"name="flags[]"id="flags{$trow->att}"value="{$trow->att}"{$jumpclick}checked="checked"/>{$trow->attname}[{$trow->att}]";else
- echo"<inputclass="np"type="checkbox"name="flags[]"id="flags{$trow->att}"value="{$trow->att}"{$jumpclick}/>{$trow->attname}[{$trow->att}]";}
- ?>
第10步:添加完第8步的php代码后,向下找到"</tr>",然后再添加以下代码,然后保存。
- <tr><tdheight="24"class="bline"id="redirecturltr"style="display:<?phpecho(empty($addRow["redirecturl"])?"none":"block");?>">
- <tablewidth="800"border="0"cellspacing="0"cellpadding="0"><tr>
- <tdwidth="90"> 跳转网址:</td><td>
- <inputname="redirecturl"type="text"id="redirecturl"style="width:300px"value="<?phpecho$addRow["redirecturl"];?>"/></td>
- </tr></table>
- </td></tr>
第11步:找到处理图片文档自定义属性那行下面的if开始的代码(第126行代码),并替换成以下代码。
- //处理图片文档的自定义属性if($litpic!=""&&!preg_match("*p*",$flag))
- {$flag=($flag==""?"p":$flag.",p");
- }$redirecturl!=""&&!preg_match("#j#",$flag))
- {$flag=($flag==""?"j":$flag.",j");
- }
第12步:找到更新附加表处(第250行代码),同下面的SQL语句一起替换为以下代码,并保存。
- //更新附加表$inQuery="UPDATE`dede_addonspec`SETtypeid="$typeid",redirecturl="$redirecturl",note="$notelist"{$inadd_f},templet="$templet"WHEREaid="$id";";
第13步:完成以上代码之后,然后上传到dede后台,并覆盖即可。