【发布时间】:2012-03-14 21:11:54
【问题描述】:
我正在开发基于 php 的简单调查生成器。它所做的只是从数据库获取问卷并在页面上创建适当的表格。对于模板,我使用的是 PEAR HTML_Template_IT (1.3),我偶然发现了一个有趣的“功能”。
假设我们有这样的嵌套结构的模板:
<!-- BEGIN questionnaire -->
<!-- BEGIN question.T -->
{question} <input type="text" .... />
<!-- END question.T -->
<!-- BEGIN question.R -->
{question}
<!-- BEGIN question.R.answer -->
<input type="radio" .... /> {option}
<!-- END question.R.answer -->
<!-- END question.R -->
<!-- END questionnaire -->
您可以想象,对于不同类型的输入字段,我有类似的块。
现在有趣的事情来了。当我尝试显示字段时,我注意到它们以一种奇怪的方式显示。首先,我将有文本块,最后是广播组的所有问题。当我强制我的代码只使用 question.T (例如)来显示问题时,顺序就很好了,但是当我到达 Radio、Select、Checkbox 块(它们都有内部“答案”块)时,排序似乎是不再存在。所以我的假设是它与模板结构有关。有趣的是,当我在模板中交换块顺序(“question.R”是第一个)时,结果是首先显示所有“无线电”问题,然后是文本字段。所以看起来模板子块中的顺序在某种程度上很重要,但不知道为什么。
有没有人偶然发现这种行为?
【问题讨论】:
标签: php html templates block pear