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.

Reply via email to