(on Wednesday, 20 August 2008, 10:11 PM +0100):
> Thanks for that. Where should I put it ? I don't really want to slap
> it in the main Zend directories...
Well, as the class is called "My_Form_Element_RawText", I'd put it in
library/My/Form/Element/RawText.php.
Basically, we recommend you create your own, unique namespace prefix --
such as we have 'Zend_', and Solar uses 'Solar_', etc. Use this as a
top-level directory underneath your library/ directory (which will
contain Zend/ as well), and you should be all set.
You'll need to tell Zend_Form about the location of this prefix, though;
you can do that easily enough:
$form->addPrefixPath('My_Form_Element', 'My/Form/Element/', 'element');
and you'll be all set to start using it.
> PS If ever you have the unfortunate experience to bump into me, I
> think I owe you a few beers....
I won't say no. :)
> ----- Original Message -----
> From: Matthew Weier O'Phinney <matthew@zend.com>
> To: fw-mvc@lists.zend.com <fw-mvc@lists.zend.com>
> Sent: Wed Aug 20 18:59:38 2008
> Subject: Re: [fw-mvc] Include raw HTML into Zend_Form
>
> -- Gordon Ross <gr306@ucs.cam.ac.uk> wrote
> (on Wednesday, 20 August 2008, 06:31 PM +0100):
> > On 19/08/2008 09:05, "Oscar Reales" <oreales@gmail.com> wrote:
> >
> > > Well, in that case, there is another option that I have though to implement
> > > sometimes: extends a custom formElement that renders html. You can call this
> > > element "text" - "rawHtml" or something similar. Create the formEelement,
> > > the viewHelper, decorators etc.... It is much more work but once it is done,
> > > you can uses it in any project.
> >
> > Out of all the options I've seen so far, I think this one is probably the
> > best. As you say, though, it may not be the simplest. I'm starting to look
> > at the existing elements to see what work is involved. I'm hoping it won't
> > be too much work...
>
> It's not. :)
>
> In this case, I'd suggest simply extending Zend_Form_Element, and then
> overriding render() to simply return the element value:
>
> class My_Form_Element_RawText extends Zend_Form_Element
> {
> public function render(Zend_View_Interface $view = null)
> {
> return $this->getValue();
> }
> }
>
> And that way you can re-use it to enter arbitrary text anywhere:
>
> $form->addElement('rawText', 'foo', array(
> 'value' => 'This is some text to insert somewhere...',
> ));
>
> --
> Matthew Weier O'Phinney
> Software Architect | matthew@zend.com
> Zend Framework | http://framework.zend.com/
--
Matthew Weier O'Phinney
Software Architect | matthew@zend.com
Zend Framework | http://framework.zend.com/
没有评论:
发表评论