我正在使用Smarty引擎,我想将Smarty变量传递给对象参数。
我的 index.php :
<?php
$smarty = new Smarty;
$smarty->registerObject('articles',$articles);
if (isset($_GET['task'])){
$smarty->assign('articleid',$_GET['id']);
}
我的编辑文章课程:
public function editArticle($id) {
// database connection
$conn = parent::Db();
$q = $conn->prepare('SELECT * FROM articles WHERE id = :id ');
$q->execute(array(':id'=> $id ));
$results = $q->fetchAll(PDO::FETCH_ASSOC);
....
}
我希望 id 用于我的函数和我的tpl:
{if isset($smarty.get.task) && $smarty.get.task eq articleedit}
<div class="box">
<div class="box-header"> <h3 class="box-title">Bordered Table</h3></div>
<div class="box-body">
{articles->editArticle p1=$articleid }
</div>
</div>
{/if}
如何将参数传递给我的对象?我阅读了Smarty文档并提出了这一行:
{articles->editArticle p1=$articleid }
但对我不起作用。
答案 0 :(得分:0)
在PHP中你应该这样做:
$smarty->registerObject('articles',$articles);
在Smarty你应该这样做:
{articles->editArticle($articleId)}
如果它不起作用,您应该添加更多代码,如何将变量分配给Smarty。