0

以下是我来自 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>

现在我想要做的是将文本“你还没有购买任何在线测试包”替换为不同 URL 的内容,比如 www.google.com 但我不明白我应该如何实现这一点。谁能帮我解决这个问题?提前致谢。

4

2 回答 2

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

于 2013-06-17T16:56:47.470 回答
0

这样的东西在 Smarty 3 中对我有用,但有些人可能认为它不是很优雅:

...
{else}
    {file_get_contents('http://www.google.com/')}
{/if}
于 2013-06-17T16:39:46.810 回答