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 和 HTML
Oct 09 PHP
转换中文日期的PHP程序
Oct 09 PHP
PHP 存储文本换行实现方法
Jan 05 PHP
PHP目录函数实现创建、读取目录教程实例
Jan 13 PHP
PHP实现图片自动清理的方法
Jul 08 PHP
thinkphp中的url跳转用法分析
Jul 12 PHP
PHP读取文本文件并逐行输出该行使用最多的字符与对应次数的方法
Nov 25 PHP
浅谈关于PHP解决图片无损压缩的问题
Sep 01 PHP
thinkPHP5框架导出Excel文件简单操作示例
Aug 03 PHP
php PDO属性设置与操作方法分析
Dec 27 PHP
实例讲解PHP表单验证功能
Feb 15 PHP
php pdo连接数据库操作示例
Nov 18 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生成静态html文件的三种方法
2013/06/18 PHP
ThinkPHP之M方法实例详解
2014/06/20 PHP
PHP操作MySQL事务实例
2014/11/05 PHP
thinkphp中U方法按路由规则生成url的方法
2018/03/12 PHP
php使用Swoole实现毫秒级定时任务的方法
2020/09/04 PHP
比Jquery的document.ready更快的方法
2010/04/28 Javascript
js中字符替换函数String.replace()使用技巧
2011/08/14 Javascript
JQUERY对单选框(radio)操作的小例子
2013/04/25 Javascript
JS实现不规则TAB选项卡效果代码
2015/09/16 Javascript
jquery实现横向图片轮播特效代码分享
2015/11/19 Javascript
通过JS获取Request.QueryString()参数的值实现方法
2016/09/27 Javascript
JS中检测数据类型的几种方式及优缺点小结
2016/12/12 Javascript
详解AngularJs ui-router 路由的简单介绍
2017/04/26 Javascript
AngularJS入门教程一:路由用法初探
2017/05/27 Javascript
angular-ngSanitize模块-$sanitize服务详解
2017/06/13 Javascript
Vue2.0 多 Tab切换组件的封装实例
2017/07/28 Javascript
基于Vue的SPA动态修改页面title的方法(推荐)
2018/01/02 Javascript
vue cli 全面解析
2018/02/28 Javascript
详解基于Node.js的HTTP/2 Server实践
2018/05/31 Javascript
js脚本中执行java后台代码方法解析
2019/10/11 Javascript
python获取糗百图片代码实例
2013/12/18 Python
Python3基础之基本运算符概述
2014/08/13 Python
python中字符串的操作方法大全
2018/06/03 Python
python 匹配url中是否存在IP地址的方法
2018/06/04 Python
python列表,字典,元组简单用法示例
2019/07/11 Python
如何用Python破解wifi密码过程详解
2019/07/12 Python
Python基础之函数原理与应用实例详解
2020/01/03 Python
python3中datetime库,time库以及pandas中的时间函数区别与详解
2020/04/16 Python
美国二手奢侈品寄售网站:TheRealReal
2016/10/29 全球购物
菲律宾旅游网站:Expedia菲律宾
2017/10/11 全球购物
EJB实例的生命周期
2016/10/28 面试题
实习医生自我评价
2013/09/22 职场文书
高一政治教学反思
2014/01/28 职场文书
2014年单位植树节活动方案
2014/03/23 职场文书
乡镇干部学习心得体会
2016/01/23 职场文书
合作协议书格式范本
2016/03/21 职场文书