关于织梦一个模板多用DIV盒子id属性随机数自增长
in 技术杂谈 with 0 comment

关于织梦一个模板多用DIV盒子id属性随机数自增长

in 技术杂谈 with 0 comment

1.实现这种功能要用到php代码 ~ 因为织梦是默认不支持原生php代码的 ,现在就要修改include/channelunit.helper.php

$cfg_disable_tags = isset($cfg_disable_tags)? $cfg_disable_tags : '';

2.为了更好的体验后台 ~就要把sql文件里面的也要删掉,删除掉里面的php

INSERT INTO `#@__sysconfig` (`varname`, `info`, `groupid`, `type`, `value`) VALUES ('cfg_disable_tags', '模板引擎禁用标签', 7, 'bstring', '');

3.在模板前面添加一段php代码,id就是文章id,这个就自己随便了。

{dede:php}
$row = $dsql->GetOne("select typeid2 from dede_archives where id=1"); 
global $myMatch;
$myMatch =$row[typeid2];
function add(){
    $GLOBALS['myMatch']++;
    echo $GLOBALS['myMatch'];
}
{/dede:php}

4.在模板页面div里面添加

id='{dede:php}  add();{/dede:php}'

5.原始模板上面有id就跳过,这边博主直接写了一段js代码 非常方便。

<script src="https://cdn.staticfile.org/jquery/3.4.1/jquery.min.js"></script>
<script>
  $(function(){
    //var random = getRandom(0, 100);
    var i ='{dede:php} add(); {/dede:php}';
    $('div').each(function(){
      if ($(this).attr('id') == undefined) {
        $(this).attr('id',i);
      }
    });
  });
</script>

6.因为要实现随机数,又想刷新页面不变化的话,那就只能数据库里面调了。在dede/article_add.php大约200行有一个sql语句添加随机数代码就行了

$typeid2 = mt_rand(100000,999999);
//保存到主表
$query = "INSERT INTO ...

7.这边博主模板总的三个页面 ,主页,栏目页,文章内容页。就需要三篇文章id才能生成全部页面的随机数id属性,我是用的sql文件安装自带三条新闻内容。这边就不做演示了,觉得什么方便就用什么吧,哈哈

Comments are closed.