0

我有一个在 PHP 代码中初始化的 stclass 对象。对象返回

object(stdClass)[238]
  public '0' => string 'Jun 20, 2012 03:02 PM' (length=21)
  public '1' => string 'Jun 20, 2012 03:26 PM' (length=21)
  public '2' => string 'Jun 21, 2012 01:12 PM' (length=21)

在做 var_dum($myObjectName)

我将它传递给 smarty 模板,我需要根据 javascript 变量访问索引 [i] 处的 stdClass 对象的值。

我已经尝试了其中的几个:

{/literal} {$myObjectName}{literal} 
{/literal} {$myObjectName.0}{literal} 
{/literal} {$myObjectName.'0'}{literal} 
{/literal} {$myObjectName.'myLocalJSVariable'}{literal} 

但我不能在特定索引处获取对象的值

4

3 回答 3

0

你试过了{$myObjectName->0}吗?

如果您想像使用数组一样使用它,则必须将对象的数组版本传递给 Smarty:

$smarty->assign('myObjectName', get_object_vars($obj));

get_object_vars()方法返回一个对象的所有属性的命名数组。

于 2012-06-21T20:21:48.623 回答
0

我可以建议您使用json_encode()将您的数据转储到 json,将其保存到 javascript 可访问的内容中,然后从 javascript 访问您的数据吗?

{$myObjectName->javaScriptVariable}听起来就像您试图访问服务器上的某些客户端数据或客户端上的某些服务器数据 - 除非您提供数据,否则这是不可能的。

于 2012-06-22T14:31:56.703 回答
0

为什么不将对象的引用传递给 smarty?

$smarty->assign('myObjectName', &$obj);

然后在 smarty 中你可以使用 {$myObjectName->whatever} 语法...

于 2012-06-22T14:34:07.747 回答