Re: [fw-general] Is anyone processing Zend_Form forms manually in the views?

2008-04-15 Thread asadkn

Thanks. But I don't see how can it be applied to a full form.

For example, a form created like this:

$form = new Zend_Form();
$form-setAction('/usr/login')
 -setMethod('post')
 -setDecorators(array(array('ViewScript', 
array('class' = 'form
element', 'viewScript' = 'index/form-test.phtml';

// Create and configure username element:
$username = $form-createElement('text', 'username');
 snip

Here, the viewScript is decorator is set to form-test.phtml, but I can't
decorate the whole form using the view script? I will have hundreds of files
if I have to create a view file for each element that needs more control
(and allows designers to edit). 


Matthew Weier O'Phinney-3 wrote:
 
 -- asadkn [EMAIL PROTECTED] wrote
 (on Friday, 11 April 2008, 02:25 PM -0700):
 I want to keep the forms separated in the views and thus would like to
 parse
 generated forms in views. Instead of relying on Zend_Form decorators
 generated HTML, I would like to do it all manually. It gets extremely
 messy
 when I have to use decorators with few of my HTML-rich forms. 
 
 Please check out the ViewScript decorator in the documentation; this is
 probably the best fit for your needs. Set your form to use this
 decorator, and then you can customize the output of your form as you see
 fit. You can find that documentation on the following manual page:
 

 http://framework.zend.com/manual/en/zend.form.standardDecorators.html#zend.form.standardDecorators.viewScript
 
 Perhaps I want to create div and other such HTML elements myself, but
 use
 Zend_Form's decorators to create the input, select, etc. (and obviously
 have
 them filled when editing). That still should save me from writing lot of
 repeated code. 
 
 In views, I wish if something like this was possible: (where $this-form
 is
 a form created using Zend_Form in the controller) 
 
 div  - ?php echo $this-form-getElement('username')-render();
 ?/div
 
 In your view script (used with the ViewScript decorator, as recomended
 above), you could do exactly that, only easier:
 
 div?php echo $this-form-username ?/div
 
 As I see it, each element's data is protected and thus cannot be accessed
 from outside. Maybe I should try sub-classing Zend_Form each time but
 that
 still will require me to spend a lot of time to figure out how to do it
 right. 
 
 Not true -- there are accessors for every member stored in the form
 elements, and most metadata is actually directly accessible as virtual
 members using overloading. Please read up on the documentation:
 

 http://framework.zend.com/manual/en/zend.form.elements.html#zend.form.elements.metadata
 
 
 -- 
 Matthew Weier O'Phinney
 Software Architect   | [EMAIL PROTECTED]
 Zend - The PHP Company   | http://www.zend.com/
 
 

-- 
View this message in context: 
http://www.nabble.com/Is-anyone-processing-Zend_Form-forms-manually-in-the-views--tp16629046p16710256.html
Sent from the Zend Framework mailing list archive at Nabble.com.



Re: [fw-general] Is anyone processing Zend_Form forms manually in the views?

2008-04-15 Thread Matthew Weier O'Phinney
-- asadkn [EMAIL PROTECTED] wrote
(on Tuesday, 15 April 2008, 02:18 PM -0700):
 Thanks. But I don't see how can it be applied to a full form.
 
 For example, a form created like this:
 
   $form = new Zend_Form();
   $form-setAction('/usr/login')
-setMethod('post')
-setDecorators(array(array('ViewScript', 
 array('class' = 'form
 element', 'viewScript' = 'index/form-test.phtml';
 
   // Create and configure username element:
   $username = $form-createElement('text', 'username');
  snip
 
 Here, the viewScript is decorator is set to form-test.phtml, but I can't
 decorate the whole form using the view script? I will have hundreds of files
 if I have to create a view file for each element that needs more control
 (and allows designers to edit). 

You can loop over the form and render each item separately, or pull the
items out individually to render them:

? foreach ($this-form as $item): 
// iteration occurs over elements, sub forms, and display groups ?
?= $item?? // render an invidual form item ?
? endforeach ?

// or

form 
some content
?= $this-form-foo ?
/form

You can use the ViewScript on the form object so that you can do a more
complex form layout, and continue using standard decorators on the
elements. Or you can pull information from the individual elements in
order to build the HTML:

input type=text name=username
value=?= $this-form-username-getValue() ? /

etc.


 Matthew Weier O'Phinney-3 wrote:
  
  -- asadkn [EMAIL PROTECTED] wrote
  (on Friday, 11 April 2008, 02:25 PM -0700):
  I want to keep the forms separated in the views and thus would like to
  parse
  generated forms in views. Instead of relying on Zend_Form decorators
  generated HTML, I would like to do it all manually. It gets extremely
  messy
  when I have to use decorators with few of my HTML-rich forms. 
  
  Please check out the ViewScript decorator in the documentation; this is
  probably the best fit for your needs. Set your form to use this
  decorator, and then you can customize the output of your form as you see
  fit. You can find that documentation on the following manual page:
  
 
  http://framework.zend.com/manual/en/zend.form.standardDecorators.html#zend.form.standardDecorators.viewScript
  
  Perhaps I want to create div and other such HTML elements myself, but
  use
  Zend_Form's decorators to create the input, select, etc. (and obviously
  have
  them filled when editing). That still should save me from writing lot of
  repeated code. 
  
  In views, I wish if something like this was possible: (where $this-form
  is
  a form created using Zend_Form in the controller) 
  
  div  - ?php echo $this-form-getElement('username')-render();
  ?/div
  
  In your view script (used with the ViewScript decorator, as recomended
  above), you could do exactly that, only easier:
  
  div?php echo $this-form-username ?/div
  
  As I see it, each element's data is protected and thus cannot be accessed
  from outside. Maybe I should try sub-classing Zend_Form each time but
  that
  still will require me to spend a lot of time to figure out how to do it
  right. 
  
  Not true -- there are accessors for every member stored in the form
  elements, and most metadata is actually directly accessible as virtual
  members using overloading. Please read up on the documentation:
  
 
  http://framework.zend.com/manual/en/zend.form.elements.html#zend.form.elements.metadata
  
  
  -- 
  Matthew Weier O'Phinney
  Software Architect   | [EMAIL PROTECTED]
  Zend - The PHP Company   | http://www.zend.com/
  
  
 
 -- 
 View this message in context: 
 http://www.nabble.com/Is-anyone-processing-Zend_Form-forms-manually-in-the-views--tp16629046p16710256.html
 Sent from the Zend Framework mailing list archive at Nabble.com.
 

-- 
Matthew Weier O'Phinney
Software Architect   | [EMAIL PROTECTED]
Zend - The PHP Company   | http://www.zend.com/


[fw-general] Is anyone processing Zend_Form forms manually in the views?

2008-04-11 Thread asadkn

I want to keep the forms separated in the views and thus would like to parse
generated forms in views. Instead of relying on Zend_Form decorators
generated HTML, I would like to do it all manually. It gets extremely messy
when I have to use decorators with few of my HTML-rich forms. 

Perhaps I want to create div and other such HTML elements myself, but use
Zend_Form's decorators to create the input, select, etc. (and obviously have
them filled when editing). That still should save me from writing lot of
repeated code. 

In views, I wish if something like this was possible: (where $this-form is
a form created using Zend_Form in the controller) 

div  - ?php echo $this-form-getElement('username')-render(); ?/div

As I see it, each element's data is protected and thus cannot be accessed
from outside. Maybe I should try sub-classing Zend_Form each time but that
still will require me to spend a lot of time to figure out how to do it
right. 

If someone has already done something similar, please do let me know. 

-- 
View this message in context: 
http://www.nabble.com/Is-anyone-processing-Zend_Form-forms-manually-in-the-views--tp16629046p16629046.html
Sent from the Zend Framework mailing list archive at Nabble.com.



Re: [fw-general] Is anyone processing Zend_Form forms manually in the views?

2008-04-11 Thread Matthew Weier O'Phinney
-- asadkn [EMAIL PROTECTED] wrote
(on Friday, 11 April 2008, 02:25 PM -0700):
 I want to keep the forms separated in the views and thus would like to parse
 generated forms in views. Instead of relying on Zend_Form decorators
 generated HTML, I would like to do it all manually. It gets extremely messy
 when I have to use decorators with few of my HTML-rich forms. 

Please check out the ViewScript decorator in the documentation; this is
probably the best fit for your needs. Set your form to use this
decorator, and then you can customize the output of your form as you see
fit. You can find that documentation on the following manual page:


http://framework.zend.com/manual/en/zend.form.standardDecorators.html#zend.form.standardDecorators.viewScript

 Perhaps I want to create div and other such HTML elements myself, but use
 Zend_Form's decorators to create the input, select, etc. (and obviously have
 them filled when editing). That still should save me from writing lot of
 repeated code. 
 
 In views, I wish if something like this was possible: (where $this-form is
 a form created using Zend_Form in the controller) 
 
 div  - ?php echo $this-form-getElement('username')-render(); ?/div

In your view script (used with the ViewScript decorator, as recomended
above), you could do exactly that, only easier:

div?php echo $this-form-username ?/div

 As I see it, each element's data is protected and thus cannot be accessed
 from outside. Maybe I should try sub-classing Zend_Form each time but that
 still will require me to spend a lot of time to figure out how to do it
 right. 

Not true -- there are accessors for every member stored in the form
elements, and most metadata is actually directly accessible as virtual
members using overloading. Please read up on the documentation:


http://framework.zend.com/manual/en/zend.form.elements.html#zend.form.elements.metadata


-- 
Matthew Weier O'Phinney
Software Architect   | [EMAIL PROTECTED]
Zend - The PHP Company   | http://www.zend.com/