织梦文章自定义属性跳转网址的方法

织梦文档,当你把某个文档的自定义属性设置为跳转[j]时,我们希望能直接在页面中输入这个文档的跳转链接作为a标签里的链接

第一种方法,需要改动一个程序文件

打开 /include/helpers/channelunit.helper.php 找到,大概在第61行

$articleUrl = GetFileName($aid,$typeid,$timetag,$title,$ismake,$rank,$namerule,$typedir,$money,$filename);

在它的上面加入

global $dsql;

$row = $dsql->GetOne("SELECT c.addtable FROM `dede_archives` AS a LEFT JOIN `dede_channeltype` AS c ON a.channel=c.id where a.id='$aid'");

$addtable = trim($row['addtable']);

$row = $dsql->GetOne("SELECT arc.flag,addf.redirecturl FROM `$addtable` addf LEFT JOIN `dede_archives` arc ON addf.aid=arc.id WHERE addf.aid=$aid");

if(preg_match("#j#", $row['flag']) && $row['redirecturl'])

{

return $row['redirecturl'];

}

调用标签不变,还是用 [field:arcurl/]

第二种方法,不需要改动程序文件

1、dede:arclist标签中调用方法

{dede:arclist typeid='2' row='10' channelid='1' addfields='redirecturl'}

<a href=https://www.91084.com/"[field:redirecturl/]">[field:title/]</a>

{/dede:arclist}

channelid='1' 里面的1是模型id

1

addfields='redirecturl' 里面的 redirecturl 其实就是跳转地址字段名,因为这个字段是在附加表

2

2、dede:list标签中调用方法

1、在内容模型-普通文章模型(或者其他模型)-基本设置-列表附加字段,添加redirecturl进去

redirecturl

3

2、在内容模型-普通文章模型(或者其他模型)-字段管理-模型字段配置(文本模式),添加

<field:redirecturl itemname="跳转网址" type="text" isnull="true" islist="1" default="" rename="" />

4

添加好这2步以后就可以直接在dede:list标签里直接使用[field:redirecturl/]标签来调用跳转地址了

{dede:list pagesize='10' titlelen='250'}

<a href=https://www.91084.com/"[field:redirecturl/]">[field:title/]</a>

{/dede:list}

不需要写其他多余的 channelid='1' 和 addfields='redirecturl'

如果有的文档不是跳转属性,想要输出正常的文档链接,那把

href=https://www.91084.com/"[field:redirecturl/]"

修改成

href=https://www.91084.com/"[field:array runphp=yes]@me = (@me['redirecturl'] == '' ? @me['arcurl'] : @me['redirecturl']);[/field:array]"

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wsfgyx.html