0 xslt
我怎样才能检查定义的变量$ var01?问题是:
<input type="text" name="search_do" style="width: 150px;" value="{$search_do}" />
Run Code Online (Sandbox Code Playgroud)
但它不起作用,如果没有定义$ search_do ,我会收到消息"运行时错误".
PS我无法编辑php后端,只是XSL模板
如果$search_do未定义,则尚未声明(在当前范围内).
这很简单 - 在XSLT中没有"条件变量定义".它们有时不能定义,有时也不定义,它们总是一个或另一个."定义检查"是完全没必要的,这就是为什么没有.您始终可以从代码中查看是否存在变量.
但是,变量是严格限定的.仅在其父元素内有效.这意味着你做不到
<xsl:if test="some-condition">
<xsl:variable name="search_do" value="foo" />
<!-- search_do goes out of scope right away! -->
</xsl:if>
<!-- $search_do will not be valid here -->
<input type="text" name="search_do" value="{$search_do}" />
Run Code Online (Sandbox Code Playgroud)
反而
<xsl:if test="some-condition">
<xsl:variable name="search_do" value="foo" />
<!-- use it as long as it is in scope -->
<input type="text" name="search_do" value="{$search_do}" />
</xsl:if>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3782 次 |
| 最近记录: |