2011-06-29 3 views
0

Smartyの配列である変数がありますが、その情報を取得する方法を理解しようとしています。変数は$ COMMENTSと呼ばれ、私は$COMMENTS|@print_rを行なったし、これは私が得たものである:SMARTYテンプレート内の配列内のインデックスを参照する

Array ( 
    [0] => ModComments_CommentsModel Object ( 
     [data:private] => Array ( 
      [0] => 11686 
      [crmid] => 11686 
      [1] => 1679 
      [smcreatorid] => 1679 
      [2] => 1679 
      [smownerid] => 1679 
      [3] => 0 
      [modifiedby] => 0 
      [4] => ModComments 
      [setype] => ModComments 
      [5] => 
      [description] => 
      [6] => 2011-06-08 15:00:31 
      [createdtime] => 2011-06-08 15:00:31 
      [7] => 2011-06-08 15:00:31 
      [modifiedtime] => 2011-06-08 15:00:31 
      [8] => 2011-06-29 12:00:23 
      [viewedtime] => 2011-06-29 12:00:23 
      [9] => 
      [status] => 
      [10] => 0 
      [version] => 0 
      [11] => 1 
      [presence] => 1 
      [12] => 0 
      [deleted] => 0 
      [13] => 11686 
      [modcommentsid] => 11686 
      [14] => aasd 
      [commentcontent] => aasd 
      [15] => 6730 
      [related_to] => 6730 
      [16] => 
      [parent_comments] => 
      [17] => 11686 
     ) 
    ) 
    [1] => ModComments_CommentsModel Object ( 
     [data:private] => Array ( 
      [0] => 11685 
      [crmid] => 11685 
      [1] => 1679 
      [smcreatorid] => 1679 
      [2] => 1679 
      [smownerid] => 1679 
      [3] => 0 
      [modifiedby] => 0 
      [4] => ModComments 
      [setype] => ModComments 
      [5] => 
      [description] => 
      [6] => 2011-06-08 14:58:42 
      [createdtime] => 2011-06-08 14:58:42 
      [7] => 2011-06-08 14:58:42 
      [modifiedtime] => 2011-06-08 14:58:42 
      [8] => 
      [viewedtime] => 
      [9] => 
      [status] => 
      [10] => 0 
      [version] => 0 
      [11] => 1 
      [presence] => 1 
      [12] => 0 
      [deleted] => 0 
      [13] => 11685 
      [modcommentsid] => 11685 
      [14] => comment 
      [commentcontent] => comment 
      [15] => 6730 
      [related_to] => 6730 
      [16] => 
      [parent_comments] => 
      [17] => 11685 
     ) 
    ) 
    [2] => ModComments_CommentsModel Object ( 
     [data:private] => Array ( 
      [0] => 6731 
      [crmid] => 6731 
      [1] => 1679 
      [smcreatorid] => 1679 
      [2] => 1679 
      [smownerid] => 1679 
      [3] => 0 
      [modifiedby] => 0 
      [4] => ModComments 
      [setype] => ModComments 
      [5] => 
      [description] => 
      [6] => 2010-11-02 10:15:06 
      [createdtime] => 2010-11-02 10:15:06 
      [7] => 2010-11-02 10:15:06 
      [modifiedtime] => 2010-11-02 10:15:06 
      [8] => 
      [viewedtime] => 
      [9] => 
      [status] => 
      [10] => 0 
      [version] => 0 
      [11] => 1 
      [presence] => 1 
      [12] => 0 
      [deleted] => 0 
      [13] => 6731 
      [modcommentsid] => 6731 
      [14] => Test comment 
      [commentcontent] => Test comment 
      [15] => 6730 
      [related_to] => 6730 
      [16] => 
      [parent_comments] => 
      [17] => 6731 
     ) 
    ) 
) 

は、私はそれとは番号を取得しようとしています。どんな助け?私は$COMMENTS[0][data:private][0]を試しましたが、うまくいきませんでした。それが読めるよう

任意の助けも大歓迎:)

答えて

0

まず、<pre>タグにprint_r()出力を置きます。

Array ( 
    [0] => ModComments_CommentsModel Object ( 
     [data:private] => Array ( 
      [0] => 11686 
      [crmid] => 11686 
      [1] => 1679 
      [smcreatorid] => 1679 
      [2] => 1679 
      ... 
     ) 
    ) 
    ... 
) 

アレイの最初のオブジェクトにアクセスしようとしています($COMMENTS[0])。それはオブジェクトで、dataプロパティはプライベートなので、Smartyでアクセスできません。プロパティのdataプロパティまたはcrmidキーのいずれかにアクセスするには、ModComments_CommentsModelクラスを編集する必要があります。

例:

class ModComments_CommentsModel { 

    // ... 

    public function CrmId(){ 
     return $this->data['crmid']; 
    } 

    // ... 

} 

{* template *} 
{$COMMENTS[0]->CrmId()} 

{* might have to assign before using method call *} 
{assign var='comment' value=$COMMENTS[0]} 
{$comment->CrmId()} 
+0

、おかげで動作します! – Shiroi98

関連する問題