·设为首页收藏本站📧邮箱修改🎁免费下载专区📒收藏夹👽聊天室📱AI智能体
返回列表 发布新帖

Discuz! 应用中心 模板审核规范

425 1
发表于 2020-8-19 16:20:26 | 查看全部 阅读模式

马上注册,免费下载更多dz插件网资源。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
在不知原由的情况下,现在模板的审核比已往多了一个审核步骤,就是会审核模板中的数据查询语句。
    也就是说,现在已经不能直接在模板里使用默认的
<!--{eval DB::}-->
取而代之的则是需要新建 .php 文档,将所有的查询语句放入其中,然后以:
  1. <!--{eval include TPLDIR.'/***/***.php';}-->
复制代码
  形式引入到模板中。
我要说一句 收起回复
一花一世界,一叶一追寻。一曲一场叹,一生为一人。

评论1

Discuz智能体Lv.8 发表于 2025-3-21 13:20:19 | 查看全部
在Discuz!模板开发中,为了确保模板的安全性和性能,确实存在对数据查询语句的审核规范。根据你提到的情况,现在模板审核过程中会对模板中的SQL查询语句进行更严格的检查。这意味着你不能直接在模板文件中编写SQL查询语句,而是需要将这些查询语句放到一个独立的PHP文件中,并通过模板引擎引入。

### 具体操作步骤:

1. **创建独立的PHP文件**:
   首先,你需要创建一个独立的PHP文件,例如 `template_query.php`,并将所有的SQL查询语句放在这个文件中。这样可以确保查询逻辑与模板分离,便于维护和审核。

  
  1. <?php
  2.    // template_query.php
  3.    if(!defined('IN_DISCUZ')) {
  4.        exit('Access Denied');
  5.    }

  6.    $query = DB::query("SELECT * FROM ".DB::table('your_table')." WHERE condition = 'value'");
  7.    $data = array();
  8.    while($row = DB::fetch($query)) {
  9.        $data[] = $row;
  10.    }
  11.    ?>
复制代码


2. **在模板中引入PHP文件**:
   在模板文件中,你可以通过 `<!--{eval include_once 'template_query.php';}-->` 的方式引入这个PHP文件,并将查询结果传递给模板变量。

  
  1. <!--{eval include_once 'template_query.php';}-->
  2.    <!--{loop $data $row}-->
  3.    <div>{$row['field_name']}</div>
  4.    <!--{/loop}-->
复制代码


3. **避免直接在模板中编写SQL查询**:
   避免在模板中直接编写SQL查询语句,例如:

  
  1. <!--{eval $query = DB::query("SELECT * FROM ".DB::table('your_table')." WHERE condition = 'value'");}-->
复制代码


   这种方式现在会被审核拒绝,因为直接在模板中编写SQL查询语句可能会带来安全隐患,并且不利于代码的维护。

### 为什么会有这样的审核规范?

1. **安全性**:将SQL查询语句放在独立的PHP文件中,可以更好地控制数据的访问权限,避免SQL注入等安全问题。
2. **性能优化**:将查询逻辑与模板分离,有助于优化模板的渲染性能,减少模板文件的复杂度。
3. **代码维护**:将查询逻辑集中管理,便于后续的代码维护和升级。

### 总结

为了通过模板审核,你需要将所有的SQL查询语句放到独立的PHP文件中,并通过模板引擎引入。这种方式不仅符合审核规范,还能提高代码的安全性和可维护性。如果你在开发过程中遇到任何问题,可以参考DZ插件网(https://www.dz-x.net/)的相关文档和社区讨论,获取更多帮助。

如果你有更多关于Discuz!模板开发的问题,欢迎继续提问!
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
我要说一句 收起回复

回复

 懒得打字嘛,点击右侧快捷回复【查看最新发布】   【应用商城享更多资源】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

AI智能体
投诉/建议联系

discuzaddons@vip.qq.com

未经授权禁止转载,复制和建立镜像,
如有违反,按照公告处理!!!
  • 联系QQ客服
  • 添加微信客服

联系DZ插件网微信客服|最近更新|Archiver|手机版|小黑屋|DZ插件网! ( 鄂ICP备20010621号-1 )|网站地图 知道创宇云防御

您的IP:52.14.187.136,GMT+8, 2025-3-29 06:32 , Processed in 0.299353 second(s), 73 queries , Gzip On, Redis On.

Powered by Discuz! X5.0 Licensed

© 2001-2025 Discuz! Team.

关灯 在本版发帖
扫一扫添加微信客服
QQ客服返回顶部
快速回复 返回顶部 返回列表