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生成扭曲及旋转的验证码图片
Jun 07 PHP
PHP解决URL中文GBK乱码问题的两种方法
Jun 03 PHP
Linux下PHP安装mcrypt扩展模块笔记
Sep 10 PHP
smarty模板引擎从php中获取数据的方法
Jan 22 PHP
浅谈PHP中单引号和双引号到底有啥区别呢?
Mar 04 PHP
PHP后台微信支付和支付宝支付开发
Apr 28 PHP
PHP给源代码加密的几种方法汇总(推荐)
Feb 06 PHP
PHP的mysqli_thread_id()函数讲解
Jan 24 PHP
因str_replace导致的注入问题总结
Aug 08 PHP
php创建多级目录与级联删除文件的方法示例
Sep 12 PHP
PHP 加密 Password Hashing API基础知识点
Mar 02 PHP
PHP dirname(__FILE__)原理及用法解析
Oct 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+xml结合Ajax实现点赞功能完整实例
2015/01/30 PHP
PHP实现简单汉字验证码
2015/07/28 PHP
详解Yii实现分页的两种方法
2017/01/14 PHP
原生javascript实现图片轮播效果代码
2010/09/03 Javascript
js原型链原理看图说明
2012/07/07 Javascript
js post提交调用方法
2014/02/12 Javascript
JS+CSS实现弹出全屏灰黑色透明遮罩效果的方法
2014/12/20 Javascript
jQuery源码解读之hasClass()方法分析
2015/02/20 Javascript
jquery滚动加载数据的方法
2015/03/09 Javascript
jQuery跨域问题解决方案
2015/08/03 Javascript
Node.js项目中调用JavaScript的EJS模板库的方法
2016/03/11 Javascript
JS随机洗牌算法之数组随机排序
2016/03/23 Javascript
JS图片等比例缩放方法完整示例
2016/08/03 Javascript
使用vue实现点击按钮滑出面板的实现代码
2017/01/10 Javascript
react开发中如何使用require.ensure加载es6风格的组件
2017/05/09 Javascript
浅谈ES6 模板字符串的具体使用方法
2017/11/07 Javascript
Vue2.0设置全局样式(less/sass和css)
2017/11/18 Javascript
JS中Object对象的原型概念基础
2018/01/29 Javascript
Cocos2d实现刮刮卡效果
2018/12/20 Javascript
Vue.js自定义指令学习使用详解
2019/10/19 Javascript
微信小程序实现简单文字跑马灯
2020/05/26 Javascript
[01:30:54]《加油DOTA》 第三期
2014/08/18 DOTA
[54:53]完美世界DOTA2联赛PWL S2 GXR vs PXG 第二场 11.18
2020/11/18 DOTA
python实现从一组颜色中找出与给定颜色最接近颜色的方法
2015/03/19 Python
在Debian下配置Python+Django+Nginx+uWSGI+MySQL的教程
2015/04/25 Python
pytorch实现保证每次运行使用的随机数都相同
2020/02/20 Python
荷兰鞋子在线:Nelson Schoenen
2017/12/25 全球购物
英国领先的运动营养品牌:Protein Dynamix
2018/01/02 全球购物
美国在线奢侈品寄售商店:Luxury Garage Sale
2018/08/19 全球购物
信息与计算科学专业推荐信
2014/02/23 职场文书
房屋买卖协议书范本
2014/04/10 职场文书
2014年重阳节老干部座谈会局领导发言稿
2014/09/25 职场文书
兵马俑导游词
2015/02/02 职场文书
世界无敌的ICOM IC-R9500宽频接收机
2022/03/25 无线电
一文搞懂Redis中String数据类型
2022/04/03 Redis
ssh服务器拒绝了密码 请再试一次已解决(亲测有效)
2022/08/14 Servers