Discuz教程网

[已解决]怎么在DZ模板中运行PHP

 关闭 [复制链接]
authicon 安全感、要么 发表于 2012-5-12 08:18:46 | 显示全部楼层 |阅读模式
DZ模板里运行PHP,一段 if else语句,DZ是X2版本的,研究了很久都没成功,希望大大们帮帮忙,解决一下哦

最佳答案
avatar
2012-5-12 17:23:12
安全感、要么 发表于 2012-5-12 10:16
大哥,像这样的怎么放进去呢?
我直接页面就变成空白的了

  1. <!--{if $is_se == false}-->

  2. html代码

  3. <!--{/if}-->
复制代码


<!--{eval }--> 是不需要使用<?php ?>的



变量输出



  1. 输出一个变量的值,等同于php的 <?php echo $my_var;?>,花括号可以省略但不建议去掉。

  2. {$my_var}
复制代码

条件判断



  1. 通过if判断流程分支



  2. 如果写在HTML表单元素中,可以省去使代码更清晰易读,如{if $my_var}xxx{/if}
  3. <!--{if $my_var}-->    任意html语句<!--{/if}-->


  4. 带有多条件的if写法,可使用PHP常规判断中的按位运算符等
  5. <!--{if $my_var && ($my_var2 & 1 || $my_var3 == 3)}-->    任意html语句<!--{/if}-->


  6. 带有分支条件的if写法

  7. <!--{if $my_var == 1}-->    变量为1<!--{elseif $my_var == 2}-->    变量为2<!--{else}-->    其他情况<!--{/if}-->
复制代码

循环输出



  1. 带有数组键的循环写法
  2. <!--{loop $my_arr $key $val}-->    循环输出的HTML语句<!--{/loop}-->


  3. 没有数组键的循环写法
  4. <!--{loop $my_arr $val}-->
复制代码

模板嵌套



  1. 将被嵌套模板内容解析为PHP语句并合并入本模板中的写法



  2. common/header 对应某个模板套系中的common目录的header.htm模板文件
  3. <!--{subtemplate common/header}-->


  4. 程序运行时include嵌套模板内容

  5. <!--{template common/header}-->
复制代码

插件钩子



  1. 在模板中设立插件钩子



  2. hook为关键词,意为将index_top定义为钩子

  3. <!--{hook/index_top}-->
复制代码

变量数组嵌套使用



  1. 条件判断或变量输出时用到

  2. <!--{if $my_arr[$my_var]}--><!--{if $my_arr[0]}--><!--{if $my_arr[$my_arr2[$my_var]]}-->
复制代码

PHP解析



  1. 在模板中使用PHP语句可以通过{eval }进行
  2. <!--{eval $my_var = 1;}--><!--{eval echo $my_var;}--><!--{eval $my_arr = array(1, 2, 3);}--><!--{eval print_r($my_arr);}--><!--{eval output();}--><!--{eval exit();}-->
复制代码




上一篇:修改邮箱验证等自动发送邮件的样式的方法
下一篇:discuz来自何方插件(支持DX2/2.5)
authicon dly 发表于 2012-5-12 09:04:02 | 显示全部楼层
  1. <!--{eval php代码}-->
复制代码
authicon  楼主| 安全感、要么 发表于 2012-5-12 10:16:03 | 显示全部楼层
dly 发表于 2012-5-12 09:04

大哥,像
  1. <?php
  2.         if($is_se == false){
  3. ?>
复制代码
这样的怎么放进去呢?
我直接
  1. <!--{eval <?php
  2.         if($is_se == false){
  3. ?>}-->
复制代码
页面就变成空白的了
authicon dly 发表于 2012-5-12 17:23:12 | 显示全部楼层    本楼为最佳答案   
安全感、要么 发表于 2012-5-12 10:16
大哥,像这样的怎么放进去呢?
我直接页面就变成空白的了

  1. <!--{if $is_se == false}-->

  2. html代码

  3. <!--{/if}-->
复制代码


<!--{eval }--> 是不需要使用<?php ?>的



变量输出



  1. 输出一个变量的值,等同于php的 <?php echo $my_var;?>,花括号可以省略但不建议去掉。

  2. {$my_var}
复制代码

条件判断



  1. 通过if判断流程分支



  2. 如果写在HTML表单元素中,可以省去使代码更清晰易读,如{if $my_var}xxx{/if}
  3. <!--{if $my_var}-->    任意html语句<!--{/if}-->


  4. 带有多条件的if写法,可使用PHP常规判断中的按位运算符等
  5. <!--{if $my_var && ($my_var2 & 1 || $my_var3 == 3)}-->    任意html语句<!--{/if}-->


  6. 带有分支条件的if写法

  7. <!--{if $my_var == 1}-->    变量为1<!--{elseif $my_var == 2}-->    变量为2<!--{else}-->    其他情况<!--{/if}-->
复制代码

循环输出



  1. 带有数组键的循环写法
  2. <!--{loop $my_arr $key $val}-->    循环输出的HTML语句<!--{/loop}-->


  3. 没有数组键的循环写法
  4. <!--{loop $my_arr $val}-->
复制代码

模板嵌套



  1. 将被嵌套模板内容解析为PHP语句并合并入本模板中的写法



  2. common/header 对应某个模板套系中的common目录的header.htm模板文件
  3. <!--{subtemplate common/header}-->


  4. 程序运行时include嵌套模板内容

  5. <!--{template common/header}-->
复制代码

插件钩子



  1. 在模板中设立插件钩子



  2. hook为关键词,意为将index_top定义为钩子

  3. <!--{hook/index_top}-->
复制代码

变量数组嵌套使用



  1. 条件判断或变量输出时用到

  2. <!--{if $my_arr[$my_var]}--><!--{if $my_arr[0]}--><!--{if $my_arr[$my_arr2[$my_var]]}-->
复制代码

PHP解析



  1. 在模板中使用PHP语句可以通过{eval }进行
  2. <!--{eval $my_var = 1;}--><!--{eval echo $my_var;}--><!--{eval $my_arr = array(1, 2, 3);}--><!--{eval print_r($my_arr);}--><!--{eval output();}--><!--{eval exit();}-->
复制代码

authicon han 发表于 2012-5-18 21:32:06 | 显示全部楼层
强烈支持楼主ing……
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

1314学习网 ( 浙ICP备10214163号 )

GMT+8, 2024-5-17 18:52

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表