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


Posted in PHP onNovember 04, 2016

首先在/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}

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

PHP 相关文章推荐
php下一个阿拉伯数字转中文数字的函数
Jul 16 PHP
PHP文件操作实现代码分享
Sep 01 PHP
解决文件名解压后乱码的问题 将文件名进行转码的代码
Jan 10 PHP
PHP 将逗号、空格、回车分隔的字符串转换为数组的函数
Jun 07 PHP
ajax返回值中有回车换行、空格的解决方法分享
Oct 24 PHP
php定界符
Jun 19 PHP
php中获取主机名、协议及IP地址的方法
Nov 18 PHP
微信红包随机生成算法php版
Jul 21 PHP
yii2控制器Controller Ajax操作示例
Jul 23 PHP
php提取微信账单的有效信息
Oct 01 PHP
PHP如何通过表单直接提交大文件详解
Jan 08 PHP
Yii框架安装简明教程
May 15 PHP
php使用file函数、fseek函数读取大文件效率对比分析
Nov 04 #PHP
支付宝支付开发――当面付条码支付和扫码支付实例
Nov 04 #PHP
Redis使用Eval多个键值自增的操作实例
Nov 04 #PHP
php array_slice 取出数组中的一段序列实例
Nov 04 #PHP
PHP获取访问页面HTTP状态码的实现代码
Nov 03 #PHP
PHP之将POST数据转化为字符串的实现代码
Nov 03 #PHP
PHP读取文件的常见几种方法
Nov 03 #PHP
You might like
PHP 向右侧拉菜单实现代码,测试使用中
2009/11/03 PHP
php 格式化数字的时候注意数字的范围
2010/04/13 PHP
php中强制下载文件的代码(解决了IE下中文文件名乱码问题)
2011/05/09 PHP
php的XML文件解释类应用实例
2014/09/22 PHP
php实现的Cookies操作类实例
2014/09/24 PHP
jQuery 顺便学习下CSS选择器 奇偶匹配nth-child(even)
2010/05/24 Javascript
点击隐藏页面左栏或右栏实现js代码
2013/04/01 Javascript
js中 关于undefined和null的区别介绍
2013/04/16 Javascript
详解参数传递四种形式
2015/07/21 Javascript
JS控制文本域只读或可写属性的方法
2016/06/24 Javascript
node+vue实现用户注册和头像上传的实例代码
2017/07/20 Javascript
详解Vue-cli代理解决跨域问题
2017/09/27 Javascript
vue项目中锚点定位替代方式
2019/11/13 Javascript
vue项目实现设置根据路由高亮对应的菜单项操作
2020/08/06 Javascript
如何在vue 中引入使用jquery
2020/11/10 jQuery
[59:48]DOTA2-DPC中国联赛 正赛 VG vs Magma BO3 第一场 1月26日
2021/03/11 DOTA
Python通过正则表达式选取callback的方法
2015/07/18 Python
python制作最美应用的爬虫
2015/10/28 Python
CentOS6.5设置Django开发环境
2016/10/13 Python
python实现稀疏矩阵示例代码
2017/06/09 Python
python验证码识别教程之滑动验证码
2018/06/04 Python
Python自定义装饰器原理与用法实例分析
2018/07/16 Python
TensorFlow实现简单的CNN的方法
2019/07/18 Python
利用python实现汉字转拼音的2种方法
2019/08/12 Python
python爬虫中多线程的使用详解
2019/09/23 Python
opencv python如何实现图像二值化
2020/02/03 Python
Python如何生成xml文件
2020/06/04 Python
英国受欢迎的运动鞋和街头服装商店:Footasylum
2018/06/12 全球购物
iHerb中文官网:维生素、保健品和健康产品
2018/11/01 全球购物
临床医师专业个人自我评价
2014/01/08 职场文书
预备党员思想汇报
2014/01/08 职场文书
12岁生日感言
2014/01/21 职场文书
菜篮子工程实施方案
2014/03/08 职场文书
歌颂祖国的演讲稿
2014/05/04 职场文书
保护环境建议书100字
2014/05/13 职场文书
工会工作先进事迹
2014/08/18 职场文书