dsx58940 2014-03-30 09:43
浏览 106

将Smarty变量传递给对象参数

I am using the Smarty engine and I want to pass a Smarty variable to an object argument.

My index.php:

<?php 
$smarty = new Smarty;
$smarty->registerObject('articles',$articles);

if (isset($_GET['task'])){
    $smarty->assign('articleid',$_GET['id']);
}

My class for edit article:

   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); 
       ....
   }

I want id for my function and my 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}

How can I pass an argument to my object? I read the Smarty document and it suggested this line :

{articles->editArticle p1=$articleid }

but doesn't work for me.

  • 写回答

1条回答 默认 最新

  • dsdfd2322 2014-05-16 18:03
    关注

    In PHP you should do:

    $smarty->registerObject('articles',$articles);
    

    In Smarty you should do:

    {articles->editArticle($articleId)} 
    

    If it does not work, you should add more code how you assigned variable to Smarty.

    评论

报告相同问题?

悬赏问题

  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
  • ¥50 成都蓉城足球俱乐部小程序抢票
  • ¥15 yolov7训练自己的数据集
  • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)
  • ¥15 电力市场出清matlab yalmip kkt 双层优化问题
  • ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)
  • ¥20 matlab yalmip kkt 双层优化问题
  • ¥15 如何在3D高斯飞溅的渲染的场景中获得一个可控的旋转物体
  • ¥88 实在没有想法,需要个思路
  • ¥15 MATLAB报错输入参数太多