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中防止SQL注入的最佳解决方法
Apr 25 PHP
PHP自定义大小验证码的方法详解
Jun 07 PHP
使用swoole扩展php websocket示例
Feb 13 PHP
php遍历文件夹和文件列表示例分享
Mar 11 PHP
php上传图片之时间戳命名(保存路径)
Aug 15 PHP
PHP实现支持GET,POST,Multipart/form-data的HTTP请求类
Sep 24 PHP
ThinkPHP控制器间实现相互调用的方法
Oct 31 PHP
php遍历树的常用方法汇总
Jun 18 PHP
thinkPHP3.1验证码的简单实现方法
Apr 22 PHP
PHP 二级子目录(后台目录)设置二级域名
Mar 02 PHP
解决php 处理 form 表单提交多个 name 属性值相同的 input 标签问题
May 11 PHP
php实现生成带二维码图片并强制下载功能
Feb 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
腾讯QQ微博API接口获取微博内容
2013/10/30 PHP
js setTimeout opener的用法示例详解
2013/10/23 Javascript
JavaScript获取页面中超链接数量的方法
2015/11/09 Javascript
Bootstrap登陆注册页面开发教程
2016/07/12 Javascript
微信js-sdk预览图片接口及从拍照或手机相册中选图接口用法示例
2016/10/13 Javascript
微信小程序 Page()函数详解
2016/10/17 Javascript
Bootstrap CSS组件之按钮下拉菜单
2016/12/17 Javascript
jQuery操作DOM_动力节点Java学院整理
2017/07/04 jQuery
Javascript快速实现浏览器系统通知
2017/08/26 Javascript
JavaScrip关于创建常量的知识点
2017/12/07 Javascript
Vue2.0 实现移动端图片上传功能
2018/05/30 Javascript
在vue项目中使用md5加密的方法
2018/09/14 Javascript
浅谈Vue.js 中的 v-on 事件指令的使用
2018/11/25 Javascript
javascript中的with语句学习笔记及用法
2020/02/17 Javascript
在vue中使用echarts(折线图的demo,markline用法)
2020/07/20 Javascript
vue2.0 解决抽取公用js的问题
2020/07/31 Javascript
[02:52]2017DOTA2国际邀请赛中国区预选赛晋级之路
2017/07/03 DOTA
wxpython中利用线程防止假死的实现方法
2014/08/11 Python
Python socket编程实例详解
2015/05/27 Python
Python反转序列的方法实例分析
2018/03/21 Python
对Python+opencv将图片生成视频的实例详解
2019/01/08 Python
Python 通过微信控制实现app定位发送到个人服务器再转发微信服务器接收位置信息
2019/08/05 Python
Python 支持向量机分类器的实现
2020/01/15 Python
关于Tensorflow分布式并行策略
2020/02/03 Python
Python 如何在字符串中插入变量
2020/08/01 Python
一款基于css3麻将筛子3D翻转特效的实例教程
2014/12/31 HTML / CSS
Html+Css+Jquery实现左侧滑动拉伸导航菜单栏的示例代码
2020/03/17 HTML / CSS
Berghaus官网:户外服装和设备,防水服
2020/01/17 全球购物
好的自荐信包括什么内容
2013/11/07 职场文书
应届毕业生求职信范文
2013/12/18 职场文书
寒暑假实习证明书模板
2014/11/29 职场文书
爱心捐款感谢信
2015/01/20 职场文书
2016元旦文艺汇演主持词
2015/07/06 职场文书
大学军训通讯稿(2016最新版)
2015/12/21 职场文书
关于保护环境的建议书
2019/06/24 职场文书
Mysql存储过程、触发器、事件调度器使用入门指南
2022/01/22 MySQL