Symfony2 / Datatable Bundle — ошибка: установите idatatable id в вашем действии с помощью & quot; setDatatableId & quot; используя идентификатор с вашей точки зрения

Я импортирую Bundle AliDatatableBundle на GitHub следуя документу шаг за шагом, кроме части $ bin/vendor install в монтаж потому что с Symfony2.6 нет необходимости делать это.

Когда я создаю функцию в моем контроллере, и рендеринг в моей ветке, у меня есть это ошибка:

Возникло исключение во время рендеринга шаблона («Нет
экземпляр найден для datatable, вы должны установить datatable id в вашем
действие с «setDatatableId» с использованием идентификатора из вашего представления «) в
MySpaceGestionPatrimoinesBundle: Batiments: indexBatiments.html.twig at
строка 37

Вот код для контроллер:

/**
* set datatable configs
*
* @return \Ali\DatatableBundle\Util\Datatable
*/
private function _datatable()
{
$controller_instance = $this;
return $this->get('datatable')
->setDatatableId('batiments')
//->setEntity("MySpaceDatabaseBundle:Batiments", "b")
// replace "XXXMyBundle:Entity" by your entity
->setFields(
array(
"Nom"          => 'b.nom',
// Declaration for fields:
"Reférence"        => 'b.referencebatiment',
// "label" => "alias.field_attribute_for_dql""Ensembles"          => 'b.ensembles',
"_identifier_"  => 'b.id')
// you have to put the identifier field without label. Do not replace the "_identifier_")

//->setWhere(
// set your dql where statement
//'x.address = :address',
//array('address' => 'Paris')
//)

//->setOrder("x.created", "desc")
// it's also possible to set the default order
->setHasAction(true);
// you can disable action column from here by setting "false".
}

/**
* Grid action
* @return Response
*/
public function gridAction()
{
return $this->_datatable()->execute();
// call the "execute" method in your grid action
}

/**
* Lists all entities.
* @return Response
*/
public function indexAction()
{
$this->_datatable();
// call the datatable config initializer
return $this->render('MySpaceGestionPatrimoinesBundle:Batiments:indexBatiments.html.twig');
// replace "XXXMyBundle:Module:index.html.twig" by yours
}

А потом код для моего прут:

{% extends "MySpaceWelcomeBundle::layout.html.twig" %}
{% block content %}
<div class="jumbotron">
<h4><u>Rechercher un bâtiment et ses affectations spécifiques:</u></h4>
<br>

<div>
{{ datatable({
'id' : 'batiments',
'js' : {
'sAjaxSource' : path('mySpace_formulaire_recherche_batiments')
}
})
}}
</div>
</div>
{% endblock %}

Я действительно не понимаю, кто-то может помочь мне это исправить?

Я уже очистил кеш, установил активы и перенял заново с самого начала документ, я не понимаю.

Заранее спасибо.

1

Решение

Кажется, все было хорошо. Я не вижу проблемы здесь, если вы следовали документу aliBundle. Попробуйте использовать Datatable Jquery Вот, установка проще, я думаю, и лучше для вашего проекта, если это управление вашими сущностями в Symfony.

Если у вас есть вопросы по Jquery DataTables, не стесняйтесь спрашивать, я использую их также для проекта Symfony.

1

Другие решения

Других решений пока нет …