If I were to do it I would leave the HTML which is before and after the input tag out of the FormHelper - Keep it simple...
T On Fri, Aug 1, 2014 at 8:25 PM, Mikaël Capelle <[email protected]> wrote: > Thanks for the link! Unfortunately it doesn't help since it does not allow > user to create bootstrap 'input-group', it is only template for default > input, which I've already done even if it's look better written this way. > > > On Friday, August 1, 2014 4:49:42 PM UTC+2, José Lorenzo wrote: >> >> Look at this project for inspiration: >> >> https://github.com/commercial-hippie/chocolate/blob/master/ >> src/View/Helper/BootstrapFormHelper.php >> >> On Friday, August 1, 2014 2:31:44 PM UTC+2, Mikaël Capelle wrote: >>> >>> I think my question was not clear actually... >>> >>> What I'm doing is inheriting standard CakePHP FormHelper to generate >>> HTML form with bootstrap templates. It's currently working well, but in the >>> 'input' method overload, I'm doing a temporary change to the 'input' >>> template as shown in my first post. >>> >>> My question is: Is that a 'good' way of doing what I want? I mean, using >>> temporary template changes. >>> >>> I don't want people to have to change the template manually when calling >>> the 'input' method, it should be transparent for users. >>> >>> Thanks for your answer, >>> >>> On Friday, August 1, 2014 2:21:34 PM UTC+2, José Lorenzo wrote: >>>> >>>> You can make temporary changes to the templates both with >>>> Form->create() and Form->input() >>>> >>>> $this->From-input('foo', ['templates' => ['inputContainer' => >>>> $template]]); >>>> >>>> An alternative is not using input(); but just build the html yourself >>>> in the template and call $this->Form->text('foo') , for example >>>> >>>> On Friday, August 1, 2014 1:51:48 PM UTC+2, Mikaël Capelle wrote: >>>>> >>>>> Thanks for your answer! >>>>> >>>>> The problem is still the same with 'inputContainer', I need to make a >>>>> temporary update if I want to prepend / append something. >>>>> >>>>> I will look at custom widget but I am not sure it's match what I >>>>> want... The prepend / append options should be available with most type of >>>>> input, it's not really a widget itself. >>>>> >>>>> On Friday, August 1, 2014 1:37:54 PM UTC+2, Thomas von Hassel wrote: >>>>>> >>>>>> use the `inputContainer` template to wrap the content like this: >>>>>> >>>>>> 'inputContainer' => '<div class="form-group input >>>>>> {{type}}{{required}}">{{content}}</div>’, >>>>>> >>>>>> or create a custom widget, depending on how much customisation you >>>>>> want >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> On 01 Aug 2014, at 12:24, Mikaël Capelle <[email protected]> >>>>>> wrote: >>>>>> >>>>>> > 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: >>>>>> > • CakePHP 2 - https://github.com/Holt59/ >>>>>> cakephp-bootstrap3-helpers/blob/master/View/Helper/ >>>>>> BootstrapFormHelper.php >>>>>> > • CakePHP 3 - https://github.com/Holt59/ >>>>>> cakephp3-bootstrap3-helpers/blob/master/View/Helper/ >>>>>> BootstrapFormHelper.php >>>>>> > 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 [email protected]. >>>>>> > To post to this group, send email to [email protected]. >>>>>> > Visit this group at http://groups.google.com/group/cake-php. >>>>>> > For more options, visit https://groups.google.com/d/optout. >>>>>> >>>>>> -- > 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 [email protected]. > To post to this group, send email to [email protected]. > Visit this group at http://groups.google.com/group/cake-php. > For more options, visit https://groups.google.com/d/optout. > -- ============================================================= The Conference Schedule Creator : http://shdlr.com PHP for E-Biz : http://sanisoft.com ============================================================= -- 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 [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/cake-php. For more options, visit https://groups.google.com/d/optout.
