2017-12-02 138 views
0

我是TYPO3的初学者,不得不说它非常复杂,但我正在努力通过。如何在TYPO3中获取内部数据库/表格内容并通过JavaScript,JQuery或AJAX显示

我只想要一个简单的方法从我创建的内部TYPO3数据库表中获取内容并将其转发给JavaScript/JQuery/AJAX。

My BootstrapTable正在工作,但仅显示来自var data的静态内容。

我知道有来自pageType,eID和$GLOBALS['TYPO3_DB']->exec_SELECTgetRows(/* ... */);的方法来获取数据库表的内容,但是如何将其转发到JavaScript并显示它?

不应该有另一个数据库调用凭证,只是内部数据库的一种方式。

寻找这个答案自2天以来,但找不到任何简单和合理的答案。 还是必须通过eID或pageType走长路?

编辑因发表评论:

这里是我的JavaScript与bootstrapTable:

$(function() { 
    $('#table').bootstrapTable({ 
     idField: 'name', 
     pagination: true, 
     search: true, 
     data: data, 
     columns: [{ 
      field: 'name', 
      title: 'Name' 
     }, { 
      field: 'stargazers_count', 
      title: 'Stars' 
     }, { 
      field: 'forks_count', 
      title: 'Forks' 
     }, { 
      field: 'description', 
      title: 'Description' 
     }], 
     onPostBody: function() { 
      $('#table').editableTableWidget({editor: $('<textarea>')}); 
     } 
    }); 
}); 

var data = [{ 
     "name": "bootstrap-table", 
     "stargazers_count": "526", 
     "forks_count": "122", 
     "description": "An extended Bootstrap table with radio, checkbox, sort, pagination, and other added features. (supports twitter bootstrap v2 and v3) " 
    }, { 
     "name": "multiple-select", 
     "stargazers_count": "288", 
     "forks_count": "150", 
     "description": "A jQuery plugin to select multiple elements with checkboxes :)" 
    }, { 
     "name": "bootstrap-show-password", 
     "stargazers_count": "32", 
     "forks_count": "11", 
     "description": "Show/hide password plugin for twitter bootstrap." 
    }, { 
     "name": "blog", 
     "stargazers_count": "13", 
     "forks_count": "4", 
     "description": "my blog" 
    }, { 
     "name": "scutech-redmine", 
     "stargazers_count": "6", 
     "forks_count": "3", 
     "description": "Redmine notification tools for chrome extension." 
    } 
]; 

而且与调用它在我的html:<table id="table"></table> 我自己在MySQL数据库中创建表:tx_table

我希望该表的内容显示在我的可引导表中

+0

需要更多信息。有两种方法可以进入前端。输出到html中的脚本标记。使用自定义路线通过ajax获取它。你可以使用[vhs:EncodeViewHelper](https://fluidtypo3.org/viewhelpers/vhs/master/Format/Json/EncodeViewHelper.html)从php对象创建一个json。 –

+0

你好安德鲁, 我编辑我的问题,希望它现在更清楚了 – verklixt

回答

0

第一个方案您可以输出的结果直接到HTML中使用<script>标签和​​视图助手

动作代码:

$yourDataArrayFromPHP = array(
    'var1' => 'val1', 
    'var2' => 'val2' 
); 

$this->view->assign('yourDataArrayFromPHP', $yourDataArrayFromPHP); 

HTML:

<script> 
    var data = {v:format.json.encode(value: '{yourDataArrayFromPHP}')} 
</script> 

现在你可以访问此数据在JavaScript data.var1
也保持记住你的数据应该在引导表初始化之前。

相关问题