DEDE实现转跳属性文档在模板上调用出转跳地址

首先在/include/extend.func.php增加以下方法:

/** * 动态地址转静态输出 by Windchaser QQ:939238564 * $arcurl 动态网址 * @return String */ function arcurlHtml($arcurl){ preg_match('/view.php\?aid=(\d+)/',$arcurl,$arcid); if(!empty($arcid) && is_array($arcid)){//匹配是否存在动态地址 global $dsql; $addtable = $dsql->GetOne("SELECT channel.addtable FROM #@__channeltype AS channel LEFT JOIN #@__archives AS arc ON arc.channel=channel.id WHERE arc.id='{$arcid[1]}'");//获取模型类型表名 $redirecturl = $dsql->GetOne("SELECT redirecturl FROM {$addtable['addtable']} WHERE aid = '{$arcid[1]}'");//动态获取表名,并查询redirecturl字段数据 if(!empty($redirecturl['redirecturl'])){ return $redirecturl['redirecturl'];//返回redirecturl字段数据 }else{ return $arcurl; } }else{//非动态地址直接返回原地址 return $arcurl; } }

在模板上的使用方式有两种形式:

#第一种: [field:arcurl function='arcurlHtml(@me)'/] #第二种: [field:id runphp='yes'] $id=@me;@me='';$url=GetOneArchive($id);@me=$url['arcurl'];@me=arcurlHtml(@me);[/field:id]

完整调用:

#第一种 {dede:arclist titlelen='45' channelid='-1' limit='0,4' type='commend.' flag='c'} <li class="RTLi"><a href="[field:arcurl function='arcurlHtml(@me)'/]" title="[field:title/]" target="_blank"><img width="236" height="136" src="[field:picname/]" /></a></li> {/dede:arclist} #第二种 {dede:sql sql="SELECT * FROM xzzj_channeltype a left join xzzj_archives b on a.id = b.channel where a.id=-1 ORDER BY b.pubdate DESC LIMIT 0,2"} <a href="[field:id runphp='yes'] $id=@me;@me='';$url=GetOneArchive($id);@me=$url['arcurl'];@me=arcurlHtml(@me);[/field:id]" class="s_contentRTPIA" target="_blank" title="[field:title/]" ><img src="[field:litpic/]" alt="[field:title/]" width="218" height="124" class="mb5"/><span class="s_contentRTPIASpan">[field:title/]</span></a> {/dede:sql}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

时间: 2024-09-20 05:24:11

DEDE实现转跳属性文档在模板上调用出转跳地址的相关文章

DEDE实现转跳属性文档在模板上调用出转跳地址_php实例

首先在/include/extend.func.php增加以下方法:    /** * 动态地址转静态输出 by Windchaser QQ:939238564 * $arcurl 动态网址 * @return String */ function arcurlHtml($arcurl){ preg_match('/view.php\?aid=(\d+)/',$arcurl,$arcid); if(!empty($arcid) && is_array($arcid)){//匹配是否存在动态

文档-怎么计算选择题分数 不会跳转显示所有答案页面和分数计算

问题描述 怎么计算选择题分数 不会跳转显示所有答案页面和分数计算 文档-怎么计算选择题分数 不会跳转显示所有答案页面和分数计算-选择题不会选什么"> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 测试<br> function sh

[sharepoint]rest api文档库文件上传,下载,拷贝,剪切,删除文件,创建文件夹,修改文件夹属性,删除文件夹,获取文档列表

写在前面 最近对文档库的知识点进行了整理,也就有了这篇文章,当时查找这些接口,并用在实践中,确实废了一些功夫,也为了让更多的人走更少的弯路. 系列文章 sharepoint环境安装过程中几点需要注意的地方 Rest API的简单应用 rest api方式实现对文档库的管理 通过WebClient模拟post上传文件到服务器 WebHttpRequest在sharepoint文档库中的使用 [sharepoint]Rest api相关知识(转) [sharepoint]根据用户名获取该用户的权限

文档-dedecms中的调用标签的使用分模板吗?

问题描述 dedecms中的调用标签的使用分模板吗? 在dedecms 57版本的帮助文档中,获取责任编辑的标签为 {dede:adminname /} 但是在帮助文档中注名了"仅内容模板", 是不是这个标签只用在内容模板中, 而在其它的模板中并不能使用.比如在主页模板,列表页模板中并不能使用? 解决方案 dedeCMS的标签的使用

利用Aspose.Word控件和Aspose.Cell控件,实现Word文档和Excel文档的模板化导出

我们知道,一般都导出的Word文档或者Excel文档,基本上分为两类,一类是动态生成全部文档的内容方式,一种是基于固定模板化的内容输出,后者在很多场合用的比较多,这也是企业报表规范化的一个体现. 我的博客介绍过几篇关于Aspose.Word控件和Aspose.Cell控件的使用操作,如下所示. <使用Aspose.Cell控件实现Excel高难度报表的生成(一)> <使用Aspose.Cell控件实现Excel高难度报表的生成(二)> <使用Aspose.Cell控件实现Ex

怎样在插入Word文档的图片上写字

将图插入到Word文档之后,我们可能会需要在图片上面在写一些文字,例如我们制作书籍的封面,插入一张好看的图片作为背景,我们还需要在图片上写上书名和作者,类似这样的情况还有很多.今天易捷PDF转换成Word就来为大家介绍一下怎样在插入Word文档的图片上写字. 方法一:设置文字环绕图片方式 插入图片,[图片格式][文字环绕],设置文字环绕图片的方式为"衬于文字下方",这时我们就可以在图片上面写字了. Word2003界面 Word2007/2010界面 方法二:将图片插入为文档背景 Wo

Word文档中删除末尾多出的空白页的方法

  Word文档中删除末尾多出的空白页的方法            (1)调节页边距法:这种方法最快捷,我常用的是拉动法,就是用MOUSE按住左键,随意调节到合适的位置.这种方法对于少数页面的文档最适合,不用担心,页边距调整后,文档内表格变形. (2)调节行距法:在不能删掉的那一页,右键-段落-行距-固定值(调一个最小的值).你会发现在多余的页消失了.呵,这种方法不会影响其他页面. (3)DELETE法:有些时候其实很简单,当你用BACKSPACE删除内容,页面不会消失.而改用DELETE最后删

如何修改Word“文档”和“模板”等默认自动保存路径

许多人都有这样一个习惯,无论是工作文档还是一些有用的东西,长期会保存到桌面上,用起来是非常方便,但是久而久之桌面会变成什么样子?可想而知.要养成一个良好的习惯首先我们可以建立一个文件夹用来装所以的Word文档,这里给大家提供一个非常方便的技巧"修改Word文档和模板的默认保存路径",当然这个路径我们可以自己去设置.既可以节省手动修改保存路径时间,又可以让所以的Word文档保存到一个地方,查找起来也方便. 本次操作采用Word2003版本演示 ①单击Word2003菜单栏的"工

win7系统如何在word文档中输入上下标使标题更好看

  win7系统如何在word文档中输入上下标使标题更好看          具体步骤: 1.选中需要设置的文字,然后点击"开始"标签,点击"字体"图标(找不到的用户也可以直接按下"ALT+D"快捷键打开); 2.设置好对应的字号,在"效果"下面勾选"上标"或"下标",点击确定即可; 3.设置后的效果; 4.设置上下标会了之后,字体大小也需要自己掌握,字体大小搭配很重要. 四个步骤就可以