0

このバンドルをコレクション(多対多の関係)にしようとしています。この方法でデータのコレクションを設定しました。

->add('subCategory', 'genemu_jqueryselect2_entity', array(
        'class' => 'Coffee\BusinessBundle\Entity\SubCategories',
        'property' => 'subCategory',
        'label' => 'Sotto Categorie',
        'multiple' => true,
        'configs' => array(
            'placeholder' => 'Seleziona almeno una sotto categoria',
        )
    ))
****

anagraficTypeの場合:

 ->add('subCategories', 'collection', array('type' => new SubCategoriesType(), 
                'allow_add' => true,
                'allow_delete' => true,
                'prototype' => true,
                'prototype_name' => '__categ__',
                'by_reference' => false
            ))

私のテンプレートで:

var collectionHolder3 = $('ul.categories');
var $addTagLink3 = $('<a href="#" class="add_refer_link">Aggiungi</a>');
var $newLinkLi3 = $('<li></li>').append($addTagLink3);
collectionHolder3.append($newLinkLi3);
function triggerJavascript(id)
{
    $field = $('#' + id);
    {{ form_javascript(form3.subCategories.vars.prototype, true) }}
}
function addCatForm() {
    var prototype = collectionHolder3.attr('data-prototype');
    var newIndex = collectionHolder3.find('option').length;
    var newForm = prototype.replace(/__categ__/g, newIndex);
    var $newFormLi = $('<li></li>').append(newForm);
    $newLinkLi3.before($newFormLi);

    var id = '{{ form3.subCategories.vars.id }}_' + id;
    triggerJavascript(id);
}
addCatForm(collectionHolder3, $newLinkLi3);

//..
<ul class="categories" data-prototype="{{ form_widget(form3.subCategories.get('prototype')) | e }}">
</ul>

なぜこのエラーが発生するのですか?

An exception has been thrown during the rendering of a template 
("Unable to render the form as none of the following blocks exist:
"_my_businessbundle_anagraficatype_subCategories_entry_javascript_prototype",
"subCategories_javascript_prototype", "form_javascript_prototype".") in..

構成のどこが間違っていますか?

4

1 に答える 1

1

これは問題を解決しませんが、質問に対する答えは次のとおりです。

バンドルの作成者に連絡しましたが、バンドルのバグです。残念ながら、このバンドルにはいくつかのバグがあります。そのため、解決策は、バンドルを削除してSelect2を手動で使用することでした。

于 2013-03-16T20:44:57.090 に答える