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
Nov 25 PHP
php mysql索引问题
Jun 07 PHP
PHP学习之正则表达式
Apr 17 PHP
PHP英文字母大小写转换函数小结
May 03 PHP
php简单备份与还原MySql的方法
May 09 PHP
php+MySQL实现登录时验证登录名和密码是否正确
May 10 PHP
PHP框架Laravel中使用UUID实现数据分表操作示例
May 30 PHP
关于php unset对json_encode的影响详解
Nov 14 PHP
PHP封装的page分页类定义与用法完整示例
Dec 24 PHP
PHP getDocNamespaces()函数讲解
Feb 03 PHP
PHP的JSON封装、转变及输出操作示例
Sep 27 PHP
Laravel开启跨域请求的方法
Oct 13 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+java实现自动新闻滚动窗口
2006/10/09 PHP
浅析PKI加密解密 OpenSSL
2013/07/01 PHP
php中this关键字用法分析
2016/12/07 PHP
PHP时间相关常用函数用法示例
2020/06/03 PHP
js同时按下两个方向键
2007/12/01 Javascript
JQuery优缺点分析说明
2010/06/09 Javascript
javascript实现五星评价代码(源码下载)
2015/08/11 Javascript
javascript倒计时效果实现
2015/11/12 Javascript
jQuery unbind()方法实例详解
2016/01/19 Javascript
JavaScript中的时间处理小结
2016/02/24 Javascript
详解JavaScript中双等号引起的隐性类型转换
2016/05/30 Javascript
[58:37]Serenity vs Fnatic 2018国际邀请赛淘汰赛BO1 8.21
2018/08/22 DOTA
python算法表示概念扫盲教程
2017/04/13 Python
Python 自动刷博客浏览量实例代码
2017/06/14 Python
python字符串与url编码的转换实例
2018/05/10 Python
Python 利用内置set函数对字符串和列表进行去重的方法
2018/06/29 Python
python事件驱动event实现详解
2018/11/21 Python
Python3.7 pyodbc完美配置访问access数据库
2019/10/03 Python
python实现在多维数组中挑选符合条件的全部元素
2019/11/26 Python
用Python做一个久坐提醒小助手的示例代码
2020/02/10 Python
django创建超级用户时指定添加其它字段方式
2020/05/14 Python
django使用graphql的实例
2020/09/02 Python
从一次项目重构说起CSS3自定义变量在项目的使用方法
2021/03/01 HTML / CSS
HTML5添加鼠标悬浮音响效果不使用FLASH
2014/04/23 HTML / CSS
什么是用户模式(User Mode)与内核模式(Kernel Mode) ?
2014/07/21 面试题
数控技术应届生求职信
2013/11/13 职场文书
小学生学习雷锋倡议书
2014/05/15 职场文书
个人违纪检讨书
2014/09/15 职场文书
党员干部群众路线教育实践活动个人对照检查材料
2014/09/23 职场文书
作文批改评语
2014/12/25 职场文书
逃出克隆岛观后感
2015/06/09 职场文书
2016年重阳节慰问信
2015/12/01 职场文书
PHP解决高并发问题
2021/04/01 PHP
使用CSS3实现按钮悬停闪烁动态特效代码
2021/08/30 HTML / CSS
vue中的可拖拽宽度div的实现示例
2022/04/08 Vue.js
Android基础入门之dataBinding的简单使用教程
2022/06/21 Java/Android