Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [ZendFramework] Przesłanie tablicy asocjacyjnej do formularza
CzarnyGsm
post 27.09.2011, 16:02:32
Post #1





Grupa: Zarejestrowani
Postów: 84
Pomógł: 2
Dołączył: 16.04.2007

Ostrzeżenie: (0%)
-----


Witam,

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ę:
  1. <?php
  2. class ArtykulyController extends Zend_Controller_Action
  3. {
  4. [..]
  5. public function dodajAction(){
  6. $modelArtykulyKategorie = new Application_Model_ArtykulyKategorie();
  7. $categories = $modelArtykulyKategorie->pobierzKategorie();
  8. // print_r($categories) zwraca Array ( [1] => Aktualnosci [2] => Konkursy ) , czyli ok
  9. $form = new Application_Form_Artykul($categories);
  10. [..]
  11. }

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:
  1. <?php
  2. class Application_Form_Artykul extends Zend_Form {
  3. // Jak użyć do tego celu konstruktora?
  4. // private $_categories;
  5. //
  6. // public function __construct($options = null) {
  7. // $this->_categories = isset($options['categories']) && is_array($options['categories']) ? $options['categories'] : array();
  8. // unset($options['categories']);
  9. // parent::__construct($options);
  10. // }
  11.  
  12. public function init() {
  13. $content = $this->createElement('textarea', 'content');
  14. $content->setLabel('Title:')
  15. ->addValidators(array(
  16. new Zend_Validate_NotEmpty()
  17. ));
  18. $category = $this->createElement('select', 'category');
  19. $category->setLabel('Kategoria:')
  20. ->addMultiOptions(array( // jak umieścić tutaj wartości ze zmiennej $categories ?
  21. '1' => 'Aktualności',
  22. '2' => 'Konkursy'
  23. ));
  24. $this->addElements(array(
  25. $content,
  26. $category,
  27. 'submit', 'submit', array(
  28. 'label' => 'dodaj'
  29. )
  30. )
  31. ));
  32. }
  33. }
  34.  



Byłbym bardzo wdzięczny za jakąkolwiek pomoc.

Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 24.06.2025 - 12:02