织梦dedecms产品栏目调取子栏目错乱的解决方法

织梦dedecms产品栏目调取子栏目错乱的解决方法

这段时间遇见的程序怪事还是蛮多的,反正就是不知道是啥原因,就是因为不知道是什么原因只能是靠方法进行实现,但是无忧主机小编这次发现的问题确实是怪的一种,归根到底就是由于代码的不规范导致的或者是标签的写法问题,但是无忧主机小编这次的问题就应该是这个问题,这位朋友的dedecms源码程序在php空间里面已经运行了一年多了,但是朋友在后台自己更新文章的时候,突然发现栏目错乱,这个的意思是什么呢?比如说xxx栏目下没有子栏目,而这个栏目确出现了其他的子栏目,所以说很奇怪,经过无忧主机小编数分钟的调式,终于解决了这个问题,接下来无忧主机小编就把这个问题就给讨论一下。
首先我们查看一下这位朋友产品栏目调用的代码:

{dede:channelArtlist typeid='3' }
<li>
{dede:type}
<a style='font-size:14px;color:#D1D8E3;' href="[field:typelink /]"><b>[field:typename /]</b></a>
{/dede:type}</li>
{dede:channel type='son' noself='yes'}
<li>  <a style='font-size:12px;color:#FF9224;' href='[field:typelink /]'>[field:typename/]</a></li>
{/dede:channel}
{/dede:channelArtlist}

从这样的看上去其实并没有多大的问题,但是更新出来的就不一样了。这里的解决方法就是把子栏目的{dede:channel}标签换成{dede:sql}标签来代替使用。这个要怎么使用呢?
首先是把 {dede:channel} 换成换成 {dede:sql} 标签,也就是换成

{dede:sql sql='Select * from dede_arctype where reid=~id~ and ishidden != 1 ORDER BY id limit 0,20'} 

然后结尾 {/dede:sql}
其中还需要把 href='[field:typelink /]’ 更换为:
href=”[field:typedir function=’str_replace(“{cmspath}”,””,@me)’/]”
这样就完美的解决了,那么完整的修改代码为:

{dede:channelArtlist typeid='3' }
	<li>
		{dede:type}
			<a style='font-size:14px;color:#D1D8E3;' href="[field:typelink /]"><b>[field:typename /]</b></a>
		{/dede:type}
	</li>
	{dede:sql sql='Select * from dede_arctype where reid=~id~  and ishidden != 1 ORDER BY id limit 0,20'} 
	<li>  
		<a style='font-size:12px;color:#FF9224;' href="[field:typedir function='str_replace("{cmspath}","",@me)'/]">
			[field:typename/]
		</a>
	</li>
	{/dede:sql} 
{/dede:channelArtlist}

这里需要注意到的是要把这个sql语句中dede_arctype中的前缀dede修改为您的表前


织梦dedecms产品栏目调取子栏目错乱的解决方法


织梦dedecms产品栏目调取子栏目错乱的解决方法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值