2012-06-08 89 views
0

蔭編寫一個程序來調用XSL PHP的,但我需要存儲一個XSL變量,以便我可以將它發送給PHP函數PHP:functionString()存儲可變

<xsl:template match="atom:entry"> 

<xsl:if test="position() &lt;= 10"> 
    <table border="0" width="55" cellpadding="2" cellspacing="4" style="float:left;"> 
     <tr > 
     <td width="55"> 

    <a href="?page_id=9#anchor-{ atom:id }" > 
    <img id="icon"> 
<xsl:attribute name="src"> 

<xsl:value-of select="./im:image[1]"/> 

</xsl:attribute> 
</img></a> 
</td> 
</tr> 

     <tr> <td width="35" style="font-family:Arial; font-size:10px; color:black; font-weight:bold;"> 
      <xsl:value-of select="atom:category/@label"/> </td></tr> 
      <tr> <td width="35" style="font-family:Arial; font-size:10px; color:black;"> <xsl:value-of select="./im:price"/> 
     </td> 
    </tr> 
    <tr> <td>Rating: <xsl:value-of select="php:functionString('PD::parseData','$id')" disable-output-escaping="yes"/></td> 
    </tr> 
    </table> 
    </xsl:if> 
    </xsl:template> 
+0

如果函數'php:functionString()'期望它的第二個參數是一個字符串,double或boolean和'$ id'(你忘記給我們看!)包含這樣一個值,那麼大多數可能該參數將被傳遞OK。您需要測試PHP中的哪種類型應該用於文檔節點,節點,屬性或節點集。 $ –

+0

$ id只是一個例子。我只需要正確的語法來代替$ id,並且它是atom的值:id,我只是不知道如何存儲id並將它傳遞給php:functionString() –

+0

Nitin Pant:Use:' '。然後將它傳遞給函數,就像你在代碼示例中一樣。或者,請嘗試:' –

回答

0

不要使用

<xsl:value-of select="php:functionString('PD::parseData','$id')" disable-output-escaping="yes"/> 

使用

<xsl:value-of select="php:functionString('PD::parseData', $id)"/> 

前者通過作爲參數字符串"$id"不是變量$id