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安全配置
Dec 06 PHP
php cookie 作用范围?不要在当前页面使用你的cookie
Mar 24 PHP
PHPWind与Discuz截取字符函数substrs与cutstr性能比较
Dec 05 PHP
php使用base64加密解密图片示例分享
Jan 20 PHP
PHPMailer的主要功能特点和简单使用说明
Feb 17 PHP
php接口和抽象类使用示例详解
Mar 02 PHP
php保存二进制原始数据为图片的程序代码
Oct 14 PHP
ThinkPHP中order()使用方法详解
Apr 19 PHP
Joomla简单判断用户是否登录的方法
May 04 PHP
PHP自定义多进制的方法
Nov 03 PHP
PHP中一个有趣的preg_replace函数详解
Aug 15 PHP
基于PHP实现解密或加密Cloudflar邮箱保护
Jun 24 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和ACCESS写聊天室(八)
2006/10/09 PHP
php数组中删除元素之重新索引的方法
2014/09/16 PHP
PHP实现搜索地理位置及计算两点地理位置间距离的实例
2016/01/08 PHP
一个tab标签切换效果代码
2009/03/27 Javascript
JavaScript asp.net 获取当前超链接中的文本
2009/04/14 Javascript
在多个页面使用同一个HTML片段《续》
2011/03/04 Javascript
浅析jQuery对select操作小结(遍历option,操作option)
2013/07/04 Javascript
getJSON调用后台json数据时函数被调用两次的原因猜想
2013/09/29 Javascript
jQuery实现“扫码阅读”功能
2015/01/21 Javascript
JavaScript Length 属性的总结
2015/11/02 Javascript
Bootstrap基本组件学习笔记之input输入框组(9)
2016/12/07 Javascript
webpack打包后直接访问页面图片路径错误的解决方法
2017/06/17 Javascript
Angular.js中下拉框实现渲染html的方法
2017/06/18 Javascript
Angular.js ng-file-upload结合springMVC的使用教程
2017/07/10 Javascript
微信小程序之圆形进度条实现思路
2018/02/22 Javascript
浅谈angularJs函数的使用方法(大小写转换,拷贝,扩充对象)
2018/10/08 Javascript
vue 根据选择条件显示指定参数的例子
2019/11/09 Javascript
基于ajax及jQuery实现局部刷新过程解析
2020/09/12 jQuery
v-slot和slot、slot-scope之间相互替换实例
2020/09/04 Javascript
vue 解决在微信内置浏览器中调用支付宝支付的情况
2020/11/09 Javascript
[00:21]DOTA2亚洲邀请赛 Logo演绎
2015/02/07 DOTA
Python回调函数用法实例详解
2015/07/02 Python
python anaconda 安装 环境变量 升级 以及特殊库安装的方法
2017/06/21 Python
Python如何实现MySQL实例初始化详解
2017/11/06 Python
python中的插值 scipy-interp的实现代码
2018/07/23 Python
由Python编写的MySQL管理工具代码实例
2019/04/09 Python
python实现将文件夹内的每张图片批量分割成多张
2019/07/22 Python
详解mac python+selenium+Chrome 简单案例
2019/11/08 Python
Python多线程的退出控制实现
2020/08/10 Python
python语音识别指南终极版(有这一篇足矣)
2020/09/09 Python
Python 测试框架unittest和pytest的优劣
2020/09/26 Python
html5定制表单_动力节点Java学院整理
2017/07/11 HTML / CSS
英格兰足协官方商店:England Store
2019/07/12 全球购物
党日活动总结
2014/05/07 职场文书
小学语文国培研修日志
2015/11/13 职场文书
浅谈spring boot使用thymeleaf版本的问题
2021/08/04 Java/Android