资讯

展开

帝国CMS使用灵动标签调用相关软件或者文章的写法

作者:快盘下载 人气:

快盘下载为解决页面之间的关联性问题,很多软件需要通过关键词来匹配。不知道这个做seo行不行,要试试吧,用户体验是第一位的。使用帝国默认相关链接功能,需要用到模板页面,为了保持页面结构不发生变化。最方便的做法就是在原有的基础上进行灵动标签的修改。


示例:


https://www.kkpan.com/pcsoft/nordritools.html


帝国CMS使用灵动标签调用相关软件或者文章的写法

问题和方案:


1、不修改原始模板,直接使用灵动标签进行修改。

2、关键词是用,号分割的。如何匹配。


摸索了半天,网上也搜索了一些文章。只提供了一些思路,非常感谢。如下:


标题包含关键字

①、比较粗糙的匹配,可能不太精确:title like '%$navinfor[keyboard]%' 
②、精确的匹配,比较消耗资源:title regexp '(^|,)$navinfor[keyboard]($|,)'


关键字相同

①、比较粗糙的匹配,可能不太精确:keyboard like '%$navinfor[keyboard]%'
②、精确的匹配,比较消耗资源:keyboard regexp '(^|,)$navinfor[keyboard]($|,)'


进行测试,结果是思路可行。但是出现的问题是循环显示多个相同内容。


继续解决问题,再次感谢牛下载站长的大力支持。帮忙搞定了问题。代码贴出来分享给大家.


注释;id<>$navinfor[id]为在当前文章时排除调用当前文章,图上的忘记了。



<?php
  if($navinfor[keyboard]!=''){
  $key_arr = explode(',',$navinfor[keyboard]);
  $ids = [];
  for($i = 0; $i<count($key_arr);$i++)
  {
     $key = $key_arr[$i];
     $idarr = [];
?>
[e:loop={"select * from kkpan_ecms_pc  where keyboard like '%$key%' or title like '%$key%'  and id<>'$navinfor[id]' order by newstime desc limit 6",6,24,0}]
<?php
        $idarr[] = $bqr[id];
?>
[/e:loop]
<?php
  //var_dump($idarr);
  $ids = array_merge($ids,$idarr);
  }
  //echo $ids;
  $ids = array_unique($ids);
  $ids = implode(",",$ids);
  //var_dump($ids);
  }
if($ids !=''){
?>
[e:loop={"select * from kkpan_ecms_pc  where id in (".$ids.") order by newstime desc limit 6",6,24,0}]
<li><a target="_blank" href="<?=$bqsr[titleurl]?>">
  <p><em><img src="<?=$bqr[titlepic]?>"></em></p>
  <strong><?=$bqr[title]?></strong><b><?=date('m-d',$bqr[newstime])?> / <?=$bqr[rjdx]?></b><i><img src="/moban/skin/new2018/images/s<?=$bqr[pingfen]?>.gif"></i></a></li>
[/e:loop]
<?php
}
?>

如果需要需要隐藏没有数据是的div,请把div加到php文件里就搞定了。这个思路真的是太好了。


同样,该方法也可以用到文章模板里。具体代码也就不写了。照着写就可以了。

https://www.kkpan.com/article/2603.html


再次感谢 QQ 87715631 的大力支持。帝国很多功能改造都能搞定,比如百度编辑器水印啊,重复tags,查专题。虽然是收费,很合理。转发请注明出处,快盘下载,毕竟是花钱解决的问题。

加载全部内容

相关教程
猜你喜欢
用户评论
快盘暂不提供评论功能!