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 相关文章推荐
为php4加入动态flash文件的生成的支持
Oct 09 PHP
php分页示例代码
Mar 19 PHP
深入理解PHP之数组(遍历顺序)  Laruence原创
Jun 13 PHP
linux命令之调试工具strace的深入分析
Jun 03 PHP
IIS6.0中配置php服务全过程解析
Aug 07 PHP
linux使用crontab实现PHP执行计划定时任务
May 10 PHP
php使用str_replace实现输入框回车替换br的方法
Nov 24 PHP
PHP实现过滤各种HTML标签
May 17 PHP
PHP 的Opcache加速的使用方法
Dec 29 PHP
laravel实现按时间日期进行分组统计方法示例
Mar 23 PHP
解决laravel-admin 自己新建页面里 js 需要刷新一次的问题
Oct 03 PHP
ThinkPHP 5.1 跨域配置方法
Oct 11 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
Apache, PHP在Windows 9x/NT下的安装与配置 (二)
2006/10/09 PHP
用来给图片加水印的PHP类
2008/04/09 PHP
PHP 抓取新浪读书频道的小说并生成txt电子书的代码
2009/12/18 PHP
php的POSIX 函数以及进程测试的深入分析
2013/06/03 PHP
PHP中的traits简单使用实例
2015/05/13 PHP
javascript full screen 全屏显示页面元素的方法
2013/09/27 Javascript
jQuery实现简单的DIV拖动效果
2016/02/19 Javascript
判断横屏竖屏(三种)
2017/02/13 Javascript
详解用webpack2.0构建vue2.0超详细精简版
2017/04/05 Javascript
Angular中管道操作符(|)的使用方法
2017/12/15 Javascript
Vue动态创建注册component的实例代码
2019/06/14 Javascript
js blob类型url的视频下载问题的解决
2019/11/29 Javascript
js实现登录拖拽窗口
2020/02/10 Javascript
[59:26]DOTA2上海特级锦标赛D组资格赛#1 EG VS VP第二局
2016/02/28 DOTA
[03:00]2018完美盛典_最佳英雄奖
2018/12/17 DOTA
python 提取文件的小程序
2009/07/29 Python
一个超级简单的python web程序
2014/09/11 Python
Python中subprocess模块用法实例详解
2015/05/20 Python
利用Python3分析sitemap.xml并抓取导出全站链接详解
2017/07/04 Python
Python爬虫番外篇之Cookie和Session详解
2017/12/27 Python
python实现K最近邻算法
2018/01/29 Python
python用户管理系统
2018/03/13 Python
python发送告警邮件脚本
2018/09/17 Python
Python实现图片转字符画的代码实例
2019/02/22 Python
python读取ini配置文件过程示范
2019/12/23 Python
python模拟实现分发扑克牌
2020/04/22 Python
Scrapy模拟登录赶集网的实现代码
2020/07/07 Python
python 读取yaml文件的两种方法(在unittest中使用)
2020/12/01 Python
Hunkemöller瑞士网上商店:欧洲最大的内衣品牌之一
2018/12/03 全球购物
美国家居装饰和豪华家具购物网站:One Kings Lane
2018/12/24 全球购物
期中考试后的反思
2014/02/08 职场文书
党员公开承诺书内容
2014/05/20 职场文书
贸易经济专业自荐书
2014/06/29 职场文书
销售顾问工作计划书
2014/08/15 职场文书
纺织工程专业推荐信
2014/09/08 职场文书
SONY AN-LP1 短波有源天线放大器
2021/04/22 无线电