无法通过 XML 结果获取智能


Cannot Get Smarty Foreach with XML Results

我有一个来自Quickbase的XML,我正试图让它变得聪明。XML 如下所示。 是 的子项,并且有多个记录。 在 Smarty 中,我有一个带有 xml 网址的 foreach 括号。我似乎无法让任何人出现。没有编译错误。任何帮助表示赞赏。

我的XML:

<qdbapi>
    <action>API_DoQuery</action>
    <errcode>0</errcode>
    <errtext>No error</errtext>
    <dbinfo>
        <name>Part Details</name>
        <desc/>
    </dbinfo>
    <variables></variables>
    <chdbids></chdbids>
    <record>
        <related_bid>48</related_bid>
        <part_note>This is a note 1</part_note>
        <record_id_>24</record_id_>
        <update_id>1417012758913</update_id>
    </record>
    <record>
        <related_bid>48</related_bid>
        <part_note>This is a note 2</part_note>
        <record_id_>24</record_id_>
        <update_id>1417012758913</update_id>
    </record>
</qdbapi>

我的聪明:

 {$xml = simplexml_load_file('myquickbasexmlurl')}
     {foreach $xml->qdbapi->record as $detail}
         {$detail->record_id_} - {$detail->part_note}
     {/foreach}

谢谢

看起来您正在尝试在 smarty 中执行 php 函数,因此您需要将其放在 php 标签中

{php}
    $xml = simplexml_load_file('myquickbasexmlurl')
    foreach ($xml->qdbapi->record as $detail)
    {
        echo $detail->record_id . "-" . $detail->part_note;
    }
{/php}

根据smarty的说法,这不是最佳实践,但有时您可能需要使用它。否则,您需要使用 xml 创建一个 smarty 变量,然后使用 smarty 处理其余变量。