有一个 XSL 模板。
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" >
<xsl:template match="udata">
<div class="product-info">
<div class="product-info-title">
<span>Название: </span>
<h4><a href="{@link}">
<xsl:value-of select="node()"/></a></h4>
<xsl:value-of select="page/name" />
</div>
<div class="product-info-price">
<span>Цена: </span>
<xsl:value-of select="//property[@name = 'price']/value" />
</div>
<div class="product-info-price"></div>
</div>
<xsl:if test="bk < bn">
<span>Название вариант 1</span>
</xsl:if>
</xsl:template>
</xsl:stylesheet>
条件<xsl:if test="bk < bn">
不行。
我从这样的 PHP 函数中传递变量。
$block_arr['attribute:link'] = 'http://yandex.ru';
$block_arr['node:name'] = 'Text';
$block_arr['attribute:bn'] = 1;
$block_arr['attribute:bk'] = 3;
return def_module::parseTemplate($template_block, $block_arr);
这是适合模板的内容:
$block_arr['attribute:link'] = 'http://yandex.ru';
$block_arr['node:name'] = 'Text';
帮我理解是什么问题?
由于
bn
和bk
是属性,因此您必须在它们的名称前加上@
: