2017-03-21 3 views
0

私はextbaseバックエンドで、レイアウトhtmlのさまざまな資産をmodulに含めました。複数のDataTableを初期化するには:TYPO3バックエンドmodul DataTableは機能しません

<f:be.container 
 
    enableClickMenu="false" 
 
    loadExtJs="false" 
 
    enableExtJsDebug="true" 
 
> 
 

 
    <script type="text/javascript" src="{f:uri.resource(path:'js/Backend/lib/jquery-1.11.3.min.js')}"></script> 
 
    <script type="text/javascript" src="{f:uri.resource(path:'js/Backend/lib/jquery-ui.min.js')}"></script> 
 
    <script type="text/javascript" src="{f:uri.resource(path:'js/Backend/lib/jquery.dataTables.min.js')}"></script> 
 
    <script type="text/javascript" src="{f:uri.resource(path:'js/Backend/lib/moment.min.js')}"></script> 
 
    <script type="text/javascript" src="{f:uri.resource(path:'js/Backend/lib/jquery.multiselect.min.js')}"></script> 
 
    <script type="text/javascript" src="{f:uri.resource(path:'js/Backend/lib/jstree.min.js')}"></script>

しかし、TYPO3 7.6.15にアップデートした後、必ず

"TypeError: $(...).DataTable is not a function"

誤りがある

$(dataTables[i]).DataTable(dataTableOptions); 
。私はさまざまなバリエーションを試しましたが、何も動作しません。私は、問題はバックエンドのモジュールでjqueryのnoconflictバージョンになると思う。しかし、私は問題を解決するために、全く考えていません。私はあなたがさて、周りstruggeling後、私はTYPO3のrequirejs表記と私の問題を解決し

最高regads ダニエル

答えて

1

私を助けることができると思います。私は、jQuery Typo3のnoConflictヘッダーを含めて問題になると思うし、なぜTypo3が自分の名前空間を使わないのか、知りません。しかし、私は、requirejs上のすべての自分自身の/既存のjsの図書館員を含めることがベストプラクティスになると思います。まず

、あなたのjsファイルで定義します(私:に置かBackendModule.js 'EXT:my_extension /リソース/公共/ JavaScriptの')すべての前提条件/依存関係、する必要が含まれます:

define([ 
'jquery', 
'TYPO3/CMS/MyExtension/jquery-ui-widgets', 
'moment', 
'TYPO3/CMS/MyExtension/jquery.multiselect.min', 
'datatables', ], function($, widgets, moment,multiselect) {[YOUR CODE]}); 

名前空間 'TYPO3/CMS/MyExtension/jquery-ui-widgets'がパスにマップされます: 'EXT:my_extension/Resources/Public/JavaScript/jquery-ui-widgets.js'

その後、テンプレートの私のJsファイル:

<f:be.container 
     loadExtJsTheme="false" 
     enableExtJsDebug="false" 
     loadJQuery="false" 
     jQueryNamespace="defaultNoConflict" 
     includeRequireJsModules="{ 
      0:'TYPO3/CMS/MyExtension/BackendModule' 
     }" 
関連する問題