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笔记之:有规律大文件的读取与写入的分析
Apr 26 PHP
PHP5中GD库生成图形验证码(有汉字)
Jul 28 PHP
PHP内核探索:变量存储与类型使用说明
Jan 30 PHP
PHP生成自适应大小的缩略图类及使用方法分享
May 06 PHP
windows7下安装php的imagick和imagemagick扩展教程
Jul 04 PHP
php中ob函数缓冲机制深入理解
Aug 03 PHP
利用PHP如何写APP接口详解
Aug 23 PHP
php及codeigniter使用session-cookie的方法(详解)
Apr 06 PHP
php通过header发送自定义数据方法
Jan 18 PHP
laravel-admin 在列表页添加自定义按钮的例子
Sep 30 PHP
linux mint下安装phpstorm2020包括JDK部分的教程详解
Sep 17 PHP
laravel数据库查询结果自动转数组修改实例
Feb 27 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和Mysqlweb应用开发核心技术 第1部分 Php基础-3 代码组织和重用2
2011/07/03 PHP
php中time()和mktime()方法的区别
2013/09/28 PHP
CodeIgniter模板引擎使用实例
2014/07/15 PHP
如何让搜索引擎抓取AJAX内容解决方案
2014/08/25 PHP
PHP概率计算函数汇总
2015/09/13 PHP
thinkPHP中验证码的简单使用方法
2015/12/26 PHP
php封装单文件上传到数据库(路径)
2017/10/15 PHP
laravel中数据显示方法(默认值和下拉option默认选中)
2019/10/11 PHP
JS 中document.URL 和 windows.location.href 的区别
2009/11/11 Javascript
JQuery对checkbox操作 (循环获取)
2011/05/20 Javascript
28个常用JavaScript方法集锦
2015/01/14 Javascript
javascript控制图片播放的实现代码
2020/07/29 Javascript
ES6新特性八:async函数用法实例详解
2017/04/21 Javascript
Vue Spa切换页面时更改标题的实例代码
2017/07/15 Javascript
javascript闭包的使用之按钮切换功能
2018/08/30 Javascript
详解auto-vue-file:一个自动创建vue组件的包
2019/04/26 Javascript
JavaScript解析JSON数据示例
2019/07/16 Javascript
浅谈关于vue中scss公用的解决方案
2019/12/02 Javascript
Ant Design Pro 之 ProTable使用操作
2020/10/31 Javascript
跟老齐学Python之变量和参数
2014/10/10 Python
编写同时兼容Python2.x与Python3.x版本的代码的几个示例
2015/03/30 Python
浅谈python socket函数中,send与sendall的区别与使用方法
2017/05/09 Python
pyqt5实现登录界面的模板
2020/05/30 Python
python图像和办公文档处理总结
2019/05/28 Python
通过 Django Pagination 实现简单分页功能
2019/11/11 Python
python 实现 hive中类似 lateral view explode的功能示例
2020/05/18 Python
Expedia印度:您的一站式在线旅游网站
2017/08/24 全球购物
Roxy荷兰官方网站:冲浪、滑雪板、服装和配件
2019/10/22 全球购物
小学生考试获奖感言
2014/01/30 职场文书
中西医专业毕业生职业规划书
2014/02/24 职场文书
工作疏忽、懈怠的检讨书
2014/09/11 职场文书
公安局副政委班子个人对照检查材料
2014/10/04 职场文书
超市工作总结范文2014
2014/12/19 职场文书
租赁协议书
2015/01/27 职场文书
保洁员岗位职责
2015/02/04 职场文书
使用vue-element-admin框架从后端动态获取菜单功能的实现
2021/04/29 Vue.js