如何在Smarty模板中显示特定URL的内容?

时间:2013-06-17 13:55:18

标签: smarty

以下是来自smarty模板的代码片段:

<div id="entrancelist">
      <h2 class="heading">My Packages</h2>
      {if $user_study_test_packages.test}
        <ul class="entrancelist">     
         {foreach from=$user_study_test_packages.test item="user_test_packages" key=key}
          <li>
          <h4>{$user_test_packages.pack_name|capitalize:true}</h4>
           {if $user_test_packages.pack_expiry_date1 >= $current_date }
            <div class="fr"><span class="expiry">Expiry : {$user_test_packages.pack_expiry_date}</span></div>
           {else}
             <div class="fr"><span class="expiry_dt">This package is expired on {$user_test_packages.pack_expiry_date}.</span></div>
           {/if}
           <p class="descp">{$user_test_packages.test_pack_desc}</p>
          <div class="srtest"><a href="my_tests_listing.php?pack_id={$user_test_packages.pack_id}" class="starttst">&nbsp;</a></div>
          </li> 
         {/foreach}     
       </ol>
      {else}  
          You haven't bought any online test packages
       {/if}
    </div>

现在我要做的是重新处理文本“你没有购买任何在线测试包”,不同网址的内容说www.google.com但是我不明白我该怎么做到这一点。任何人都可以帮我解决这个问题吗?提前谢谢。

2 个答案:

答案 0 :(得分:1)

为什么不将PHP与模板分开?

也许在你的PHP代码中这样做,

<?php
$gcontent = file_get_contents('http://www.google.com');

$smarty->assign('gcontent',$gcontent);
?>

然后您可以在模板中使用{$gcontent}

如果您愿意,甚至可以将查询字符串参数与URL一起使用。有关php函数的更多信息。

http://www.w3schools.com/php/func_filesystem_file_get_contents.asp

答案 1 :(得分:0)

这样的东西在Smarty 3中适合我,但有些人可能不会认为它非常优雅:

...
{else}
    {file_get_contents('http://www.google.com/')}
{/if}