Fill Multiple select при редактировании поста - PullRequest
0 голосов
/ 23 декабря 2011

Я делаю блог в Zend Framework. В данный момент я создаю страницу для редактирования поста в блоге.

У меня есть элемент множественного выбора. Он получает свои данные из базы данных. это список с тегами. когда я редактирую запись блога, в моей форме отображается список, заполненный всеми возможными тегами. Теперь я хочу установить некоторые выбранные значения (теги, принадлежащие сообщению, как в выбранной базе данных).

Это возможно?

в моей форме я делаю это, чтобы сделать множественный выбор со значениями

    //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));

РЕШЕНИЕ:

$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 Ответ

0 голосов
/ 23 декабря 2011

См. Документацию MultiSelect . Вызовите addMultiOptions () со всеми значениями, а затем setMultOptions () для подмножества выбранных значений из БД.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...