Pardon my rush there, I need to stop assuming that everyone lives on the
subversion trunk :)
Ok so here we go: This is going to work with the current trunk only or with
the next 1.5 release candidate :)

Cheers,
- Amr

On Sat, Mar 8, 2008 at 1:01 PM, Amr Mostafa <[EMAIL PROTECTED]> wrote:

> You could do that using the ViewScript decorator with the new content
> wrapping feature Matthew added few hours ago! :)
>
> Here is your new setElementDecorators():
>
>         $form->setElementDecorators(array(
>             array('ViewHelper'),
>             array('ViewScript', array('viewScript' => 'element.phtml',
> 'placement' => false)),
>         ));
>
> Then in your element.phtml:
>
> <?php
> require_once 'Zend/Form/Decorator/Label.php';
> $label = new Zend_Form_Decorator_Label();
> $label->setElement($this->element);
> ?>
> <tr>
>     <td>
>         <?= $label->render('') ?>
>     </td>
>     <td>
>         <?= $this->content ?>
>     </td>
> </tr>
>
> One small note about the Label decorator, we could actually write the
> <label> tag ourselves like: <label for="<?= $this->element->getAttrib('id')
> ?>"><?= $this->element->getLabel() ?></label>
> But that's not good enough, what if the element doesn't have 'id' set?
> Label decorator is smart to fall back to the element name if id is not set,
> and it has a bunch of other extras, like adding the optional/required
> classes, ...etc.
>
> Best Regards,
> - Amr
>
>
> On Sat, Mar 8, 2008 at 4:55 AM, Karl Katzke <[EMAIL PROTECTED]> wrote:
>
> > I'm using Zend_Form to build a form, and I'd like to align all of the
> > labels to the right inside their table cells. I can do this with either CSS
> > or the align="right" attribute of the table cell, but I would need to be
> > able to set attributes on the tag... which by my read, currently isn't
> > possible.
> >
> > Sample decorator:
> >
> >  46     $this->setElementDecorators(array(
> >  47                                 'ViewHelper',
> >  48                                 'Errors',
> >  49
> > array('decorator'=>array('td'=>'HtmlTag'),'options'=>array('tag'=>'td')),
> >  50                                 array('Label',array('tag'=>'td')),
> >  51
> > array('decorator'=>array('tr'=>'HtmlTag'),'options'=>array('tag'=>'tr')),
> >  52                                 ));
> >
> > In Zend_Form_Decorator_Label, we're already using
> > Zend_Form_Decorator_HtmlTag to render the tag option of the label. Could we
> > add a tagoptions field to that Label decorator and pass the array of options
> > through to the Zend_Form_Decorator_HtmlTag?
> >
> > I'm a bit of a newb to Zend Framework, and this is deep enough inside
> > the framework to make my head spin a bit, but it looks like a fairly simple
> > addition. I'm just not sure how to execute it without breaking things
> > further! I realize that everyone's in a rush to get the last few changes in
> > before the freeze, but I'd appreciate a hand with this if anyone has the
> > time.
> >
> > Thanks,
> > Karl Katzke
> >
>
>

Reply via email to