2011-06-29 141 views
0

數組引用索引我有一個變量是Smarty的一個數組,我試圖找出如何獲取這些信息。該變量稱爲$意見,我做了$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

首先,把print_r()輸出到<pre>標記,以便它是可讀的。

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

您正試圖訪問陣列中的第一個對象$COMMENTS[0]。既然這是對象,而你的data屬性是私人的,你不能在Smarty中訪問它。您必須編輯ModComments_CommentsModel類,才能訪問屬性的data屬性或crmid鍵。

例子:

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