2011-10-10 20 views
0

這是可能的,如果我把我的form_helper數組參數在我的smarty模板。在smarty模板中的助手代碼點火器

這是我我的控制器的方法:

function input($pIntBookId = 0) { 
    $this->load->model('m_books'); 
    if($this->input->post('mysubmit')){ 
     if($this->input->post('id')){ 

      $this->m_books->entryUpdate(); 

     }else{ 
      $this->m_books->entryInsert(); 
     } 
    } 
    $arrData = $this->m_books->general(); 
    if((int)$pIntBookId>0){ 
     $strQuery = $this->m_books->getId($pIntBookId); 
     $arrData['idxFid']['value'] = $strQuery['book_id']; 
     $arrData['idxFtitle']['value'] = $strQuery['book_nm']; 
     $arrData['idxFauthor']['value'] = $strQuery['book_aut']; 
     $arrData['idxFpublisher']['value'] = $strQuery['book_pub']; 
     $arrData['idxFyear']['value'] = $strQuery['book_year']; 
     if($strQuery['book_st']=='yes'){ 
      $arrData['idxFavailable']['checked'] = true; 
     }else{ 
      $arrData['idxFavailable']['checked'] = false; 
     } 
     $arrData['idxFsummary']['value'] = $strQuery['book_ds']; 
    } 
    $this->mysmarty->assign('arrData',$arrData); 
    $this->mysmarty->view('v_booksinput.php'); 
} 

這是可能的..? :

<td>{php} echo form_input($idxFtitle);{/php}</td> 
+0

你爲什麼不直接從CI分配一個Smarty模板,然後輸出它?如'$ this-> mysmarty-> assign('idxFtitle',$ arrData ['idxFtitle'] ['value']);' –

+0

所以我必須分配我的數組的所有索引 我只想分配一次 –

+0

我不確定你的意思。你可以發送一個變量給一個模板('分配一個變量),或者,你可以將PHP嵌入到模板中。第一種方法*應該是首選的方法。 –

回答

0

你可以編寫自己的smarty-function這是做你想做的。

{function name="my_input" data} 
<input name="{data['value']}"></input> 
{/function}