2011-12-23 3 views
0

私はZend Frameworkでブログを作成しています。この瞬間、私はblogpostを編集するページを作っています。記入投稿を編集するときに複数選択します。

私は複数の選択要素を持っています。彼のデータはデータベースから取り出されます。それはタグ付きリストです。 ブログポストを編集すると、フォームに可能なすべてのタグが入ったリストが表示されます。さて、私はいくつかの値を選択したいと思っています(選択されたデータベースのように投稿に属するタグ)。

これは可能ですか?私の形で

私は、複数の値

//create form element 
    $tags = $this->createElement('multiselect','tags'); 

    //get all tags out DB 
    $tags_model = new Application_Model_DbTable_Tags(); 
    $tags_array = $tags_model->getAll(); 

    //fill the element with the tags 
    foreach ($tags_array as $tag){ 
      $tags->addMultiOption($tag['id'], $tag['name']); 
     } 

私はフォームを呼び出すコントローラで選択するには、この操作を行います。これは、ブログ投稿からデータを取得し、フォームにそれを移入

  $blogpost = new Application_Model_DbTable_Blogposts(); 
     $data = $blogpost->load($id); 
     $form->populate($blogpost->load($id)); 

SOLUTION:

$tags->setValue(array(1,4)); 

ので、私はここで解決策を記述する必要があります。

"Oops! Your answer couldn't be submitted because: 
Users with less than 100 reputation can't answer their own question for 8 hours after asking. You may self-answer in 7 hours. Until then please use comments, or edit your question instead." 
+1

私は「はい」と言っていますが、マークアップやコードを表示していないため、確定しません。 – RageZ

答えて

0

MultiSelectマニュアルを参照してください。 addMultiOptions()をすべての値で呼び出し、次に選択した値のサブセットでsetMultOptions()をDBから呼び出します。

+0

nopeは、他のすべてのタグを置き換え、タグを選択しません。 – user1113130

関連する問題