2011-10-10 72 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}