-4

このphpをtplに接続したいです。

しかし、実行しようとすると致命的なエラーが発生します。

これらのデータをtplファイルに表示するためにphpにsmartyを追加しましたが、まだ問題があります。

<?php
include('developer.php');
if( $xml = simplexml_load_file(url))
{
foreach($xml->campaign as $campaigns) 
{   
$camp_name = $campaignsl->name;
$camp_dec= $campaigns->description;
$camp_payout= $campaigns->payout;
$camp_url= $campaigns->url;
$smarty->assign( 'camp_name', $camp_name);
$smarty->assign( 'camp_dec', $camp_dec);
$smarty->assign( 'camp_payout', $camp_payout);
$smarty->assign( 'camp_url', $camp_url);
$smarty->display('link.tpl');
}
}
?>

これが tpl ファイル (link.tpl) です。

<table width="100%" class="widget-tbl">
<tr class="titles">
<td align="center">Name</td>
<td align="center">Description</td>
<td align="center">amount</td>
<td align="center">Link</td>
</tr>
<tbody id="tablelist">
{foreach item=item from=$campaigns}
<tr>
<td align="center">{$camp_name}</td>
<td align="center">{$camp_dec}</td>
<td align="center">{$camp_payout}</td>
<td align="center">{$camp_url}</td>
</tr>
{/foreach}    
</tbody>
4

2 に答える 2

3

最初の問題は$url、次のステートメントの変数です(@ maxime-lorantによっても指摘されています):

if( $xml = simplexml_load_file($url)) // Use $url not url

第二に、あなたはやっていて$camp_name = $campaignsl->name;未定義$campaignslです!

3 番目に、smarty テンプレートに割り当て$campaignておらず、ループを実行しています。

次のことを試してください。

if( $xml = simplexml_load_file($url))
{
    $smarty->assign('campaigns', $xml->campaign);
    $smarty->display('link.tpl');
}

次に、テンプレートで:

{foreach item=item from=$campaigns}
    <tr>
        <td align="center">{$item->name}</td>
        <td align="center">{$item->description}</td>
        <td align="center">{$item->payout}</td>
        <td align="center">{$item->url}</td>
    </tr>
{/foreach}
于 2013-08-24T09:26:26.627 に答える
0

$XML ファイルの解析時にa を忘れました:

if( $xml = simplexml_load_file(url))

これを に置き換えますif( $xml = simplexml_load_file($url))。ファイルの先頭にいるので、この変数が初期化されているかどうかを確認することもできます...

于 2013-08-24T09:19:04.857 に答える