Ok, I agree with you, in both points! Thanks for your attention.
Em sexta-feira, 1 de agosto de 2014 11h52min22s UTC-3, José Lorenzo escreveu: > > I would suggest not breaking your forms across multiple blocks... and > don't think there will be a change around that in the FormHelper because of > the order the views are loaded when using blocks. > > On Friday, August 1, 2014 4:35:03 PM UTC+2, Tiago Barrionuevo wrote: >> >> In this case if I have to move the Form->create() out of this view I'll >> be doing code duplication in every form. >> >> The solution I found was create a method "setContext($context)" in a >> inherited Form helper to initialize before the Form->input() in the view >> block. >> >> Is there any chance this become functional this way in the future? >> >> >> Em quinta-feira, 31 de julho de 2014 08h58min56s UTC-3, Tiago Barrionuevo >> escreveu: >>> >>> Yes, it returns an entity. I can simplify a little more: >>> >>> <div> >>> <h2><?php echo 'Test Cases - VIEW BLOCK'; ?></h2> >>> <div class="container"> >>> <?php >>> echo $this->Form->create($test); >>> echo $this->fetch('cadastro_data'); >>> echo $this->Form->end(); >>> ?> >>> </div> >>> </div> >>> >>> After some debugging I guess I found the problem! >>> Cause "$this->Form->create($test)" is in other view that the " >>> $this->Form->input(...);", the Form->inputs are processed before the >>> Form->Create and it has no entity yet! >>> >>> >>> Em quinta-feira, 31 de julho de 2014 08h28min13s UTC-3, José Lorenzo >>> escreveu: >>>> >>>> What does $this->get('test') return? Is it an entity? >>>> >>>> On Thursday, July 31, 2014 3:47:47 AM UTC+2, Tiago Barrionuevo wrote: >>>>> >>>>> Hi, >>>>> >>>>> I'm trying to build a form, with a CakePHP 3 application, using view >>>>> blocks but I can't get it to work. It seens that the Form->create() >>>>> doesn't >>>>> find the model. >>>>> I build a simple form to test it (controller Tests): >>>>> >>>>> >>>>> src/Template/Tests/view_block.ctp >>>>> >>>>> <?php >>>>> $this->set('cadastro_title', $this->get('search_modulename') . ' - >>>>> VIEW_BLOCK'); >>>>> $this->set('cadastro_entity', $this->get('test')); >>>>> >>>>> $this->extend('/Common/cadastro_editor'); >>>>> >>>>> $this->start('cadastro_data'); >>>>> ?> >>>>> >>>>> <fieldset> >>>>> <div class="row"> >>>>> <?= $this->Form->input('id', array('label' => 'Id:' ));?> >>>>> </div> >>>>> >>>>> <div class="row"> >>>>> <?= $this->Form->input('name', array('label' => 'Name:' ));?> >>>>> </div> >>>>> >>>>> <div class="row"> >>>>> <?= $this->Form->input('result', array('label' => 'Result:' ));?> >>>>> </div> >>>>> </fieldset> >>>>> >>>>> <?php $this->end(); ?> >>>>> >>>>> >>>>> --------------------------------------------------------------------------- >>>>> src/Template/Common/cadastro_editor.ctp >>>>> >>>>> <div> >>>>> <h2><?php echo $this->get('cadastro_title'); ?></h2> >>>>> >>>>> <div class="container"> >>>>> <?php >>>>> echo $this->Form->create($this->get('test') ); >>>>> //echo $this->Form->create($this->get('cadastro_entity') ); >>>>> >>>>> echo $this->fetch('cadastro_data'); >>>>> >>>>> echo $this->Form->end(); >>>>> ?> >>>>> </div> >>>>> </div> >>>>> >>>>> ====================================== >>>>> The same form without view block works ok: >>>>> >>>>> <?php >>>>> $this->set('cadastro_title', $this->get('search_modulename') . ' - >>>>> VIEW'); >>>>> ?> >>>>> <div> >>>>> <h2><?php echo $this->get('cadastro_title'); ?></h2> >>>>> >>>>> <div class="container"> >>>>> <?php >>>>> echo $this->Form->create($this->get('test') ); >>>>> ?> >>>>> >>>>> <fieldset> >>>>> <div class="row"> >>>>> <?= $this->Form->input('id', array('type'=>'text', 'label' => >>>>> 'Id:' ));?> >>>>> </div> >>>>> >>>>> <div class="row"> >>>>> <?= $this->Form->input('name', array('label' => 'Name:' ));?> >>>>> </div> >>>>> >>>>> <div class="row"> >>>>> <?= $this->Form->input('result', array('label' => 'Result:' >>>>> )); ?> >>>>> </div> >>>>> </fieldset> >>>>> </div> >>>>> </div> >>>>> >>>>> >>>>> Maybe I'm doing something wrong! >>>>> >>>>> Thanks in advance >>>>> >>>> -- 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+unsubscr...@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.