Napotkałem problem z dodaniem do formularza typu select wartości z bazy danych i nie bardzo chcą się one wyświetlać.
W kontrolerze w akcji daję:
<?php class ArtykulyController extends Zend_Controller_Action { [..] public function dodajAction(){ $modelArtykulyKategorie = new Application_Model_ArtykulyKategorie(); $categories = $modelArtykulyKategorie->pobierzKategorie(); // print_r($categories) zwraca Array ( [1] => Aktualnosci [2] => Konkursy ) , czyli ok $form = new Application_Form_Artykul($categories); [..] }
Do formularza przekazuję tablice asocjacyjną o nazwie $categories.
Mam problem jednak w użyciu tej zmiennej w opcji addMultiOptions. Przyjmuje ona właśnie tablicę asocjacyjną, ale nijak nie wiem jak jej tam użyć. Jeden Pan podpowiadał mi coś z konstruktorem, ale nie wiem jak tego użyć.
Mój formularz:
<?php class Application_Form_Artykul extends Zend_Form { // Jak użyć do tego celu konstruktora? // private $_categories; // // public function __construct($options = null) { // $this->_categories = isset($options['categories']) && is_array($options['categories']) ? $options['categories'] : array(); // unset($options['categories']); // parent::__construct($options); // } public function init() { $content = $this->createElement('textarea', 'content'); $content->setLabel('Title:') new Zend_Validate_NotEmpty() )); $category = $this->createElement('select', 'category'); $category->setLabel('Kategoria:') '1' => 'Aktualności', '2' => 'Konkursy' )); $content, $category, 'label' => 'dodaj' ) ) )); } }
Byłbym bardzo wdzięczny za jakąkolwiek pomoc.