a) Do I need to declare global variable in my form class plus getter,
setter methods so that Controller can set that variable through those
methods and I can use the data provided in that variable?

yes.

Thank You
Daniel Latter



2009/1/31 Deepak Shrestha <[email protected]>:
> On Sat, Jan 31, 2009 at 11:46 PM, gerardroche <[email protected]> wrote:
>>
>> you keep moving the goal posts.
>>
>> put this in your form, to the letter:
>>
>> $location= New Zend_Form_Element_Select('location');
>> $location->setLabel('*Location:');
>> $location->setMultiOptions(array('location1' => 'location1', 'location2' =>
>> 'location2'));
>>
>>
>> And in your controller:
>>
>> $data = array('location' => 'location1');
>> $form    = $this->_getTestForm();
>> $form->populate($data);
>>
>>
>> does it work? (location1 should be selected)
>>
>> if yes try this in controller:
>>
>> $data = array('location' => 'location2');
>> $form    = $this->_getTestForm();
>> $form->populate($data);
>>
>> does it still work? (locations2 should now be selected in the select list)
>>
>> working?
>>
>
> Yes that works! and I understand what you mean about this but that is
> not my question. If you read my very first post, my question was "how
> to populate the select element in the form from database rows?" not
> "how to select the item in the already populated select element".
>
> that means instead of doing by hand like this
> -------------------------------------------------------------------------------------------------------------------------
> $location->setMultiOptions(array('location1' => 'location1',
> 'location2' => 'location2'));
> -------------------------------------------------------------------------------------------------------------------------
> I want to fill this $location automatically from database. How do I do that?
>
> what I understood from the link you provided me is
>
> 1. I am going to manipulate the model from the form class itself (is
> this true?) so that means there is no controller involved and form
> have the knowledge of how to manipulate tables directly (which should
> not be if we follow the MVC pattern).
>
>
> But instead
>
> 1. I want to separate the datasource itself from the form.
> 2. What I wanted to do is Controller will be responsible for fetching
> the data from the model and pass an array to the form. Form have no
> knowledge of how that data arrives there but knows that something have
> been provided by controller for it to manipulate. So in my case
> controller provides the location array to form and form will populate
> the Zend_Form_Element_Select before showing it.
> 3. The part I wanted to know is how this mechanism works (or how to
> make that happen)?
>
> That's why I asked in my first post:
>
> a) Do I need to declare global variable in my form class plus getter,
> setter methods so that Controller can set that variable through those
> methods and I can use the data provided in that variable?
>
> b) or when controller uses $form->populate(some array), the form
> already have knowledge of what's being passed to it? If so how the
> form will knows what to reference?
>
> If I understand this then I know what I am looking for and can figure
> out how to write the code I need.
>
> Please correct me if I am wrong about my concept.
>
> Now can you explain how this works and how to make that happen in
> plain English (no code involved)
>
> Thanks
>
> --
> =======================
> Registered Linux User #460714
> Currently Using Fedora 8, 10
> =======================
>

Reply via email to