integração entre multimodelform e eselect2

25 views
Skip to first unread message

Carlos Eduardo

unread,
Feb 20, 2015, 6:46:15 PM2/20/15
to yii-framew...@googlegroups.com

alguém pode ajudar com a integração das extensões multimodelform e eselect2, pois ocorre os seguinte erro

formulário 1 para muitos,só permite incluir alterar apenas esse select marcado independente de onde for clicado.

ja vi e li a respeito não existe integração entre essas duas extensões mas a solução é através da opção jsAfterNewId do multimodelform que na hora de clonar o eselect da algum tipo de erro no js ou jquery e como não entendo nada de js estou perdido.


link1: extensão multmodelformhttp://www.yiiframework.com/extension/multimodelform/
link2: extensão eselect2 :  http://www.yiiframework.com/extension/select2/
link3: interessante olhar https://github.com/yii-joblo/multimodelform/issues/16



Fábio Sales

unread,
Feb 20, 2015, 9:00:16 PM2/20/15
to yii-framew...@googlegroups.com
Carlos, 

Boa noite, 

Você já verificou pelo firebug qual o erro que ocorre? Também tive alguns problemas com essa extensão, então decidi fazer um master/detail utilizando CjuiDialog e CgridView.

Atenciosamente,

Fábio Sales
Analista de tecnologia da informação
www.desenvolvemos.net

--
YFB - Yii Framework Brasil
04/2011: Anexos de até 250kb foram autorizados pelos membros da lista. Use com moderação.
---
Você recebeu essa mensagem porque está inscrito no grupo "YFB - Yii Framework Brasil" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para yii-framework-br...@googlegroups.com.
Para ver essa discussão na Web, acesse https://groups.google.com/d/msgid/yii-framework-brasil/116afaa0-d719-4c71-8dfe-a86756d62efa%40googlegroups.com.
Para mais opções, acesse https://groups.google.com/d/optout.

Carlos Eduardo

unread,
Feb 21, 2015, 9:47:04 AM2/21/15
to yii-framew...@googlegroups.com
o firebug não acusa erros, tem algum exemplos do que vc fez com o CjuiDialog?

Fábio Sales

unread,
Feb 23, 2015, 7:00:29 AM2/23/15
to yii-framew...@googlegroups.com
Olá Carlos,

Desculpe a demora, pois estive ausente no final de semana. Tenho um exemplo sim, posso lhe enviar à noite. Pode ser?

Atenciosamente,

Fábio Sales
Analista de tecnologia da informação
www.desenvolvemos.net

--
YFB - Yii Framework Brasil
04/2011: Anexos de até 250kb foram autorizados pelos membros da lista. Use com moderação.
---
Você recebeu essa mensagem porque está inscrito no grupo "YFB - Yii Framework Brasil" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para yii-framework-br...@googlegroups.com.

Carlos Eduardo

unread,
Feb 23, 2015, 5:29:00 PM2/23/15
to yii-framew...@googlegroups.com
claro que pode, toda a ajuda é bem vinda


Em sexta-feira, 20 de fevereiro de 2015 21:46:15 UTC-2, Carlos Eduardo escreveu:

Fábio Sales

unread,
Feb 23, 2015, 7:55:44 PM2/23/15
to yii-framew...@googlegroups.com
Carlos, 

Boa noite,

Vou tentar explicar de forma breve. Caso você precise de algum detalhe, me fale. Basicamente, você vai ter um grid junto com o formulário principal, para exibir os itens filhos. O detalhe é que este grid vai usar CArraydataprovider ao invés do CActiveDataprovider.

Para inserir o item filho no grid, você pode se basear neste link: http://www.yiiframework.com/wiki/145/cjuidialog-for-create-new-model/. Só que ao invés de salvar o model filho no banco, você o guarda na sessão:

<?php
            if ($model->validate()) {
                $arrayData = Yii::app()->session['ModelArrayData'];
                $model->primaryKey = empty($arrayData) ? rand(1, 99999) : max(array_keys($arrayData)) + 1;

                $attributes = $model->attributes;
                $arrayData[$model->primaryKey] = $model->attributes;
                Yii::app()->session['ModelArrayData'] = $arrayData;
            }
        
?>

Pra atualizar o grid, você utiliza a função "$.fn.yiiGridView.update('id-grid');" no 'success' do exemplo do link acima.

Quando for salvar o model pai, você faz um loop com a variável de sessão e monta os models filhos: 

<?php
$transaction = Yii::app()->db->beginTransaction(); 
$validado = $model->save();
$dependentesSalvar = Yii::app()->session['ModelArrayData'];

foreach ((array) $dependentesSalvar as $dependente) {

                $filho = new $ModelFilho();
                $filho->attributes = $dependente;
                $filho->id_pai = $model->id_pai;
                $validado = $validado && $filho->save();
}

$validado ? $transaction->commit() : $transaction->rollback();

?>

Bem, este código foi só pra você ter uma base. Veja se lhe ajuda de alguma forma. Qualquer dúvida, estou à disposição.



Atenciosamente,

Fábio Sales
Analista de tecnologia da informação
www.desenvolvemos.net

--
YFB - Yii Framework Brasil
04/2011: Anexos de até 250kb foram autorizados pelos membros da lista. Use com moderação.
---
Você recebeu essa mensagem porque está inscrito no grupo "YFB - Yii Framework Brasil" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para yii-framework-br...@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages