请选择 进入手机版 | 继续访问电脑版
开启辅助访问
 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

点击进入授权页面

只需一步,快速开始

[Discuz教程] x2模板中模板风格中的自定义变量使用说明(不同于1.5)

回复:0 | 查看:1481 | jpsc 发表于 2018-1-17 00:01:14 |阅读模式 |复制链接
今天在修改模板中的发帖按钮时,突然发现Discuz! X模板文件中一直沿用的{STYLEIMGDIR}竟然不能用了,模板中没有解析了,之后只好翻了翻代码。发下与前一个版本X1.5不同的定义方式。X2中去除了模板变量全部定义为常量的部分:

  • if(is_array($this->var['style'])) {
  • foreach($this->var['style'] as $key => $val) {
  • $key= strtoupper($key);
  • if(!defined($key)&& !is_array($val)) {
  • define($key,$val);
  • }
  • }
  • }

复制代码
改为只手动定义了:

  • define('IMGDIR',$this->var['style']['imgdir']);
  • define('STYLEID',$this->var['style']['styleid']);
  • define('VERHASH',$this->var['style']['verhash']);
  • define('TPLDIR',$this->var['style']['tpldir']);
  • define('TEMPLATEID',$this->var['style']['templateid']);

复制代码
防止了冗余定义其他不常用常量的弊端。
在页面模板中我们可以通过直接调用变量的方式调用后台自定义的值。
例如:我要调用自定义的扩展图片目录{STYLEIMGDIR},我就可以写成:
$_G['style']['styleimgdir']。
当然在以前我们也是很少用到直接在模板中调用这些变量的。为了提高效率,我们为什么不仅仅定义了几个常量。而不是全部都定义了。希望大家在制作discuzx模板是注意这一点。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册  

本版积分规则

快速回复 返回列表 客服中心





企业站定制,我们更专业!

联系我们
快速回复 返回顶部 返回列表