Friday, August 1, 2014

CakePHP 3.0 - Correct way to append / prepend HTML on FormHelper

Hi everyone,

I am porting my CakePHP 2.0 helpers to CakePHP 3.0 and I am facing some troubles with my custom FormHelper. The helpers are made to be used with bootstrap, the two form helpers can be found here:
In the BootstrapFormHelper::input method, I have a 'prepend' and 'append' options which are used to create bootstrap input groups. With the 2.0 version, I used the 'before' and 'after' options to create such groups but these options are not available anymore with CakePHP 3.0 so what I'm doing is a temporary template change:

$oldTemplate = $this->templates('input') ;
if ($options['prepend']) {
    $this
->templates([
       
'input' => /* ... */
   
]) ;
}
$res
= parent::input(/* ... */) ;
$this
->templates([
   
'input' => $oldTemplate
]) ;
return $res ;

Is there a better way to do such thing with CakePHP 3.0?

Thanks,

--
Like Us on FaceBook https://www.facebook.com/CakePHP
Find us on Twitter http://twitter.com/CakePHP

---
You received this message because you are subscribed to the Google Groups "CakePHP" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cake-php+unsubscribe@googlegroups.com.
To post to this group, send email to cake-php@googlegroups.com.
Visit this group at http://groups.google.com/group/cake-php.
For more options, visit https://groups.google.com/d/optout.

No comments: