duanqianpu6499 2011-05-07 23:35
浏览 57
已采纳

我怎样才能在Smarty模板中加入这样的东西?

I am trying to convert a pre-existing site that had html and php intermingled into a Smarty template based site. I never used Smarty before so this is proving very difficult for me. I get that you can assign a variable like so:

$smarty->assign('number_of_items_in_cart', $number_of_items_in_cart);

and use it in the tpl file like so:

{$number_of_items_in_cart}

but what about more complex things like this block of code that I had on the old site:

$query = mysql_query(" SELECT * FROM products WHERE id = '$pid' ");

if (mysql_num_rows($query) == 1) {

    while ($row = mysql_fetch_array($query)) {
        extract($row);
        echo "<h2>$name</h2>";
        echo "<img src='images/product_images/$image' alt='' width='100' />";
        echo $description;
        echo '<p>'.money($price).'</p>';
        echo "<input type='text' value='1' class='qty-$id' />";
        echo "<a href='javascript:void(0)' onClick=\"add_cart('$id')\">Add to Cart</a>";
    }

} else {
    redirect('404.php');
}

How can I work with this in a Smarty template, since the output is within a while loop?

  • 写回答

2条回答 默认 最新

  • duanmo7075 2011-05-07 23:43
    关注

    Instead of echoing this, you can append it in a string variable then pass it to smarty:

    $string = "";
    while ($row = mysql_fetch_array($query)) {
            extract($row);
            $string .= "<h2>$name</h2>";
            $string .=  "<img src='images/product_images/$image' alt='' width='100' />";
            $string .=  $description;
            $string .=  '<p>'.money($price).'</p>';
            $string .=  "<input type='text' value='1' class='qty-$id' />";
            $string .=  "<a href='javascript:void(0)' onClick=\"add_cart('$id')\">Add to Cart</a>";
        }
    

    Now u can pass it to smarty

    $smarty->assign('place_holder', $string);
    

    I hope this is what you are looking for

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 2020长安杯与连接网探
  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
  • ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
  • ¥16 mybatis的代理对象无法通过@Autowired装填
  • ¥15 可见光定位matlab仿真
  • ¥15 arduino 四自由度机械臂
  • ¥15 wordpress 产品图片 GIF 没法显示
  • ¥15 求三国群英传pl国战时间的修改方法
  • ¥15 matlab代码代写,需写出详细代码,代价私
  • ¥15 ROS系统搭建请教(跨境电商用途)