欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

关于dedecms 中[field:arcurl/]标签链接地址是怎么生成的....

程序员文章站 2022-06-02 16:50:20
...
一直有个问题没有解决,在dedecms 中有个超链接标签[field:arcurl/] 标签,在别的标签中一般都是[field:数据库字段名/] ,而这个标签中的[field:arcurl/]arcurl 就不是数据表的一个字段,这个标签是怎么工作的呢...

回复讨论(解决方案)

arcurl 是一个派生的字段,其值是通过计算得来的(因为动态页面和静态页面的值不同)

arcurl 是一个派生的字段,其值是通过计算得来的(因为动态页面和静态页面的值不同)

关键是我现在有这样一个需求,有一个视频栏目页面,如下图所示:

而这个页面就是dedecms的栏目页面,模板是list_article_ms.htm 页面,现在要实现的是点击下面的标题让视频在本栏目页面显示,问题的关键是在使用{dede:arclist} 标签时超链接的地方写的是[field:arcurl/]标签,所以计算出来的链接地址都是指向内容页的,想了好一会觉得还是没有头绪,要怎么才能实现,点击下面的标题让视频在本栏目页面显示....

这个你就可以建立一个可以发布视频的 文章模型 加一个 视频地址的 字段 在类别页面 和调用文章地址一样 的 比如 你加了一个名为 ship 的字段

{dede:list addfield='ship'}[field:ship/]{/dede:list}

这样就可以调用你的自定义字段了 在用js 去让上面的视频 播放你点击的 就好了

这个你就可以建立一个可以发布视频的 文章模型 加一个 视频地址的 字段 在类别页面 和调用文章地址一样 的 比如 你加了一个名为 ship 的字段

{dede:list addfield='ship'}[field:ship/]{/dede:list}

这样就可以调用你的自定义字段了 在用js 去让上面的视频 播放你点击的 就好了


我这样调用不到videourl 这个字段的值,但是我可以调到body里面的值,很奇诡的问题,而且我发现附加表中就只能调出body字段里面的值...其他自定义的就调不出来了..
我就是用一下方式写的:
{dede:list addfields='videourl,aid' channelid='1' pagesize='5'}

[field:title/]

{/dede:list}

还有就是我这里不管是添不添加channelid='1' 都是调不出来的....

还有就是我这里不管是添不添加channelid='1' 都是调不出来的....
这里面的channelid 是根据你的模型id号的 不是都写1


还有就是我这里不管是添不添加channelid='1' 都是调不出来的....
这里面的channelid 是根据你的模型id号的 不是都写1
我这里就是在 dede_addonarticle 表中要查出字段viewurl字段的值....而这个表所对应的channelid就是1啊!...为何我这就不成功了..

arcurl 是通用 ./include/helpers/archive.helper.php (V5.7以上)的GetOneArchive函数计算后后的结果



还有就是我这里不管是添不添加channelid='1' 都是调不出来的....
这里面的channelid 是根据你的模型id号的 不是都写1
我这里就是在 dede_addonarticle 表中要查出字段viewurl字段的值....而这个表所对应的channelid就是1啊!...为何我这就不成功了..
添加channelid的同时还要添加addfields参数,例:

{dede:arclist channelid='1' addfields='viewurl'}[field:***/]{/dede:arclist}




还有就是我这里不管是添不添加channelid='1' 都是调不出来的....
这里面的channelid 是根据你的模型id号的 不是都写1
我这里就是在 dede_addonarticle 表中要查出字段viewurl字段的值....而这个表所对应的channelid就是1啊!...为何我这就不成功了..
添加channelid的同时还要添加addfields参数,例:

{dede:arclist channelid='1' addfields='viewurl'}[field:***/]{/dede:arclist}


addfields='viewurl'这个参数我也是加了的....





还有就是我这里不管是添不添加channelid='1' 都是调不出来的....
这里面的channelid 是根据你的模型id号的 不是都写1
我这里就是在 dede_addonarticle 表中要查出字段viewurl字段的值....而这个表所对应的channelid就是1啊!...为何我这就不成功了..
添加channelid的同时还要添加addfields参数,例:

{dede:arclist channelid='1' addfields='viewurl'}[field:***/]{/dede:arclist}


addfields='viewurl'这个参数我也是加了的....
不可能,除非你自己写错了。
另外,在列表页不需要写addfields就可以调用附加表字段,在内容模型里设置就可以了。