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 Mssql操作简单封装支持存储过程
Dec 11 PHP
PHP设计模式之装饰者模式
Feb 29 PHP
php数组去重的函数代码
Feb 03 PHP
解析dedecms空间迁移步骤详解
May 15 PHP
PHP中的str_repeat函数在JavaScript中的实现
Sep 16 PHP
php递归方法实现无限分类实例代码
Feb 28 PHP
php动态生成函数示例
Mar 21 PHP
PHP获取文件相对路径的方法
Feb 26 PHP
PHP中的魔术方法总结和使用实例
May 11 PHP
php实现XML和数组的相互转化功能示例
Feb 08 PHP
PHP仿qq空间或朋友圈发布动态、评论动态、回复评论、删除动态或评论的功能(上)
May 26 PHP
使用php自动备份数据库表的实现方法
Jul 28 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禁止个别IP访问网站
2013/10/30 PHP
php通过Chianz.com获取IP地址与地区的方法
2015/01/14 PHP
php计算title标题相似比的方法
2015/07/29 PHP
php 获取文件行数的方法总结
2016/10/11 PHP
PHP实现的CURL非阻塞调用类
2018/07/26 PHP
jquery网页元素拖拽插件效果及实现
2013/08/05 Javascript
javascript实现表格增删改操作实例详解
2015/05/15 Javascript
JavaScript操作select元素和option的实例代码
2016/01/29 Javascript
JavaScript代码因逗号不规范导致IE不兼容的问题
2016/02/25 Javascript
基于touch.js手势库+zepto.js插件开发图片查看器(滑动、缩放、双击缩放)
2016/11/17 Javascript
Angular.js实现多个checkbox只能选择一个的方法示例
2017/02/24 Javascript
Bootstrap响应式表格详解
2017/05/23 Javascript
解决html input验证只能输入数字,不能输入其他的问题
2017/07/21 Javascript
angular.js4使用 RxJS 处理多个 Http 请求
2017/09/23 Javascript
不到200行 JavaScript 代码实现富文本编辑器的方法
2018/01/03 Javascript
jQuery 获取除某指定对象外的其他对象 ( :not() 与.not())
2018/10/10 jQuery
javascript将16进制的字符串转换为10进制整数hex
2020/03/05 Javascript
[03:06]V社市场总监Dota2项目负责人Erik专访:希望更多中国玩家加入DOTA2
2014/07/11 DOTA
[39:52]2018DOTA2亚洲邀请赛 4.3 突围赛 EG vs Newbee 第一场
2018/04/04 DOTA
用实例详解Python中的Django框架中prefetch_related()函数对数据库查询的优化
2015/04/01 Python
在Python中进行自动化单元测试的教程
2015/04/15 Python
Python正则抓取新闻标题和链接的方法示例
2017/04/24 Python
Python实现购物车购物小程序
2018/04/18 Python
python3利用tcp实现文件夹远程传输
2018/07/28 Python
用python代码将tiff图片存储到jpg的方法
2018/12/04 Python
Python+OpenCV实现将图像转换为二进制格式
2020/01/09 Python
纯CSS实现预加载动画效果
2017/09/06 HTML / CSS
css3中flex布局宽度不生效的解决
2020/12/09 HTML / CSS
Avène雅漾美国官方网站:敏感肌肤护理专家
2016/10/24 全球购物
波兰珠宝品牌:YES
2019/08/09 全球购物
医学专业毕业生个人的求职信
2013/12/04 职场文书
汽车制造与装配专业自荐信范文
2014/01/02 职场文书
考试诚信承诺书
2014/05/23 职场文书
节能环保口号
2014/06/12 职场文书
高一学年自我鉴定范文(3篇)
2014/09/26 职场文书
几款流行的HTML5 UI框架比较(小结)
2021/04/08 HTML / CSS