2015-05-08 26 views
3

每次登录到系统时都会出现此对话框,该对话框在与开发环境一起运行时会一直弹出。使用Symfony2和Twig时警告“无法重新初始化数据表”

数据表警告:表ID = datTable - 无法重新初始化数据表。

但是,只要我运行生产环境,一切正常。 我该如何摆脱这个?

//控制器

public function indexAction() { 
    $em = $this->getDoctrine()->getManager(); 
    $po = $em->getRepository('MatrixEdiBundle:EdiTransactionDetail')->findDocs('850'); 

    return $this->render('MatrixEdiBundle:Matrix:index.html.twig', array('po' => $po)); 
} 

// index.html.twig

{% extends 'layout.html.twig' %} 
{# {% include 'MatrixEdiBundle:Matrix:header.html.twig'%} #} 
{% block body %} 
<div class="content"> 
</br> 
    <table id="datTable"class="table table-bordered table-condensed table-hover"> 
     <thead> 
     <th colspan="8">Edi Matrix</th> 
     <tr> 
      <th>Po Numbers</th> 
      <th>Trading Partner Id</th> 
      <th>PO 855 Acknowledgement</th> 
      <th>PO 997 Acknowledgement</th> 
      <th>Advance Shipment Notice</th> 
      <th>Invoice</th> 
      <th>Purchase Order Change</th> 
      <th>Order Status</th> 
     </tr> 
     </thead> 
     <tbody> 
     {% for tran in po %} 
     <tr> 
      <td><a href="{{ path('matrix_edi_showpo', {'po_num': tran.poNumber}) }}"data-toggle="modal"data-target="#myModal">{{tran.poNumber}}</td> 

      <td>{{tran.ediTransaction.senderId}}</td> 

      <td><a href="{{ path('matrix_edi_findAll', {'po_num': tran.poNumber, 'sender_id': tran.ediTransaction.senderId, 'doc_type': 855}) }}"data-toggle="modal"data-target="#myModal"> 
      {{ render(controller('MatrixEdiBundle:Matrix:matrix', { 
      'po_num': tran.poNumber, 'sender_id': tran.ediTransaction.senderId, 'reciever_id': tran. ediTransaction.receiverId, 'doc_type': 855, 'gs_number': tran.ediTransaction.gsNumber })) }}</a> 
      </td> 

      <td><a href="{{ path('matrix_edi_poack', {'gs_number': tran.ediTransaction.gsNumber, 'receiver_id': tran.ediTransaction.receiverId, 'sender_id': tran.ediTransaction.senderId}) }}"data-toggle="modal"data-target="#myModal"> 
      {{ render(controller('MatrixEdiBundle:Matrix:matrix', { 
      'po_num': tran.poNumber, 'sender_id': tran.ediTransaction.senderId, 'reciever_id': tran. ediTransaction.receiverId, 'doc_type': 997, 'gs_number': tran.ediTransaction.gsNumber })) }}</a> 
      </td> 

      <td><a href="{{ path('matrix_edi_findAll', {'po_num': tran.poNumber, 'sender_id': tran.ediTransaction.senderId, 'doc_type': 856}) }}"data-toggle="modal"data-target="#myModal">{{ render(controller('MatrixEdiBundle:Matrix:matrix', { 
      'po_num': tran.poNumber, 'sender_id': tran.ediTransaction.senderId, 'reciever_id': tran.ediTransaction.receiverId, 'doc_type': 856, 'gs_number': tran.ediTransaction.gsNumber }))}}</a> 
      </td> 

      <td><a href="{{ path('matrix_edi_findAll', {'po_num': tran.poNumber, 'sender_id': tran.ediTransaction.senderId, 'doc_type': 810}) }}"data-toggle="modal"data-target="#myModal">{{ render(controller('MatrixEdiBundle:Matrix:matrix', {'po_num': tran.poNumber, 'sender_id': tran.ediTransaction.senderId, 'reciever_id': tran.ediTransaction.receiverId, 'doc_type': 810, 'gs_number': tran.ediTransaction.gsNumber})) }}</a> 
      </td> 

      <td><a href="{{ path('matrix_edi_findAll', {'po_num': tran.poNumber, 'sender_id': tran.ediTransaction.senderId, 'doc_type': 860}) }}"data-toggle="modal"data-target="#myModal">{{ render(controller('MatrixEdiBundle:Matrix:matrix', {'po_num': tran.poNumber, 'sender_id': tran.ediTransaction.senderId, 'reciever_id': tran.ediTransaction.receiverId, 'doc_type':860, 'gs_number': tran.ediTransaction.gsNumber})) }}</a> 
      </td> 

      <td><a href="{{ path('matrix_edi_findAll', {'po_num': tran.poNumber, 'sender_id': tran.ediTransaction.senderId, 'doc_type': 870}) }}"data-toggle="modal"data-target="#myModal">{{ render(controller('MatrixEdiBundle:Matrix:matrix', { 
     'po_num': tran.poNumber, 'sender_id': tran.ediTransaction.senderId, 'reciever_id': tran.ediTransaction.receiverId, 'doc_type': 870, 'gs_number': tran.ediTransaction.gsNumber 
    })) }}</a></td> 

     </tr> 
     {% endfor %} 
    </tbody> 
    </table> 
    </div> 


<div id="myModal"class="modal fade bs-example-modal-lg" tabindex="-1" role="dialog" aria-labelledby="myLargeModalLabel" aria-hidden="true"> 
    <div class="modal-dialog modal-lg"> 
    <div class="modal-content"> 
     <div class="modal-header"> 
     <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button> 
     <h4 class="modal-title">Details</h4> 
     </div> 
     <div class="modal-body"> 
     Loading content...... 
     </div> 
     <div class="modal-footer"> 
     <button type="button" class="btn btn-primary" data-dismiss="modal">Close</button> 
     </div> 
    </div><!-- /.modal-content --> 
    </div><!-- /.modal-dialog --> 
</div><!-- /.modal --> 
{% endblock %} 

{% block javascripts %} 
{% javascripts 
    'bundles/matrixdoc/js/jQuery.js' 
    'bundles/matrixdoc/js/jquery.dataTables.min.js' 
    'bundles/matrixdoc/js/dataTables.bootstrap.js' 
    'bundles/matrixdoc/js/bootstrap.js' 
    %} 
    <script src="{{ asset_url }}"></script> 
    <script type="text/javascript"> 
    $(document).ready(function() { 
    $('#datTable').dataTable({ 
     "scrollY": "400px", 
     "scrollCollapse": true, 
     "pagingType": "simple", 
    }); 
    $('body').on('hidden.bs.modal', '.modal', function() { 
     $(this).removeData('bs.modal'); 
    }); 
    $(document).on("hidden.bs.modal", function (e) { 
     $(e.target).removeData("bs.modal").find(".modal-content").empty(); 
    }); 
    }); 
</script> 
{% endjavascripts %} 
{% endblock %} 
+0

请问包括你的一些代码([清除和最小示例](http://stackoverflow.com/help/mcve))? – Docteur

+0

你的错误(''不能重新初始化DataTable'')是一个JavaScript或jQuery相关的问题。请查看您的脚本并在此处添加相关代码。 –

回答

1

原因

Cannot reinitialise DataTable错误意味着,数据表被初始化比一次更$('#datTable').dataTable()而不被破坏。

SOLUTION

你只在你的代码运行$('#datTable').dataTable()一次,所以一定有什么不对您的模板。在StackOverflow上搜索证实了这一点,请参阅answer for "JavaScript loading twice in Symfony"

您需要将包含JavaScript代码{% block javascripts %} ... {% endjavascripts %}的区块移到{% block body %} ... {% endblock %}以外的区域。

相关问题