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 相关文章推荐
NOD32 v2.70.32 简体中文封装版 提供下载了
Feb 27 PHP
PHP 高级课程笔记 面向对象
Jun 21 PHP
phpMyadmin 用户权限中英对照
Apr 02 PHP
php array_map()数组函数使用说明
Jul 12 PHP
php实现的一个很好用HTML解析器类可用于采集数据
Sep 23 PHP
PHP中redis的用法深入解析
Feb 20 PHP
php数据库备份还原类分享
Mar 20 PHP
ThinkPHP中的关联模型注意点
Jun 16 PHP
PHP缓存集成库phpFastCache用法
Dec 15 PHP
PHP中include和require的区别实例分析
May 07 PHP
PHP快速排序算法实现的原理及代码详解
Apr 03 PHP
Jsonp劫持学习
Apr 01 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读取IMAP邮件
2006/10/09 PHP
PHP跨平台获取服务器IP地址自定义函数分享
2014/12/29 PHP
PHP 网站修改默认访问文件的nginx配置
2017/05/27 PHP
被jQuery折腾得半死,揭秘为何jQuery为何在IE/Firefox下均无法使用
2010/01/22 Javascript
jquery select动态加载选择(兼容各种浏览器)
2013/02/01 Javascript
jQuery中实现动画效果的基本操作介绍
2013/04/16 Javascript
JS localStorage实现本地缓存的方法
2013/06/22 Javascript
javascript实现禁止右键和F12查看源代码
2014/12/26 Javascript
jQuery晃动层特效实现方法
2015/03/09 Javascript
javascript实现漂亮的拖动层,窗口拖拽特效
2015/04/24 Javascript
JS实现先显示大图后自动收起显示小图的广告代码
2015/09/04 Javascript
AngularJS基础 ng-class-odd 指令示例
2016/08/01 Javascript
JavaScript 继承详解(五)
2016/10/11 Javascript
使用Bootstrap + Vue.js实现添加删除数据示例
2017/02/27 Javascript
JS实现课堂随机点名和顺序点名
2017/03/09 Javascript
详解webpack进阶之loader篇
2017/08/23 Javascript
vue组件间通信子与父详解(二)
2017/11/07 Javascript
javascript实现最长公共子序列实例代码
2018/02/05 Javascript
jQuery中ajax请求后台返回json数据并渲染HTML的方法
2018/08/08 jQuery
解决bootstrap-select 动态加载数据不显示的问题
2018/08/10 Javascript
Node 模块原理与用法详解
2020/05/13 Javascript
electron踩坑之dialog中的callback解决
2020/10/06 Javascript
ES2020让代码更优美的运算符 (?.) (??)
2021/01/04 Javascript
[01:04:32]DOTA2-DPC中国联赛 正赛 Aster vs LBZS BO3 第二场 2月23日
2021/03/11 DOTA
Python开发的单词频率统计工具wordsworth使用方法
2014/06/25 Python
ubuntu17.4下为python和python3装上pip的方法
2018/06/12 Python
Django如何简单快速实现PUT、DELETE方法
2019/07/24 Python
浅谈django框架集成swagger以及自定义参数问题
2020/07/07 Python
Python利用Pillow(PIL)库实现验证码图片的全过程
2020/10/04 Python
CSS3之多背景background使用示例
2013/10/18 HTML / CSS
XML文档定义有几种形式?它们之间有何本质区别?解析XML文档有哪几种方式?
2016/01/12 面试题
共产党员公开承诺书
2014/03/25 职场文书
酒店工程部岗位职责
2015/02/12 职场文书
2015年教师学期工作总结
2015/04/30 职场文书
MySQL创建索引需要了解的
2021/04/08 MySQL
三星 3nm 芯片将于第二季度开始量产
2022/04/29 数码科技