如何在TYPO3 <table> </table>中生成与jQueryMobile兼容的版本

时间:2013-10-03 09:08:13

标签: jquery-mobile typo3 typoscript

我正在尝试使用TYPO3创建jQueryMobile compatible <table>

这意味着要添加data-role="table"class="class="ui-responsive""

可以使用RTE或表内容元素生成此表。

RTE

默认<table> HTML

<table style="" class="contenttable">
    <thead>
        <tr>
            <th scope="col">head 1</th>
            <th scope="col">head 2</th>
            <th scope="col">head 3</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td>L 1</td>
            <td>...</td>
            <td>...</td>
        </tr>
        <tr>
            <td>L 2</td>
            <td>...</td>
            <td>...</td>
        </tr>
    </tbody>
</table>

尝试解决问题

我添加了以下设置,但jQuery接缝不再起作用了。它无限期地加载(旋转动画)。

lib.parseFunc_RTE.externalBlocks.table.stdWrap.HTMLparser.tags.table.fixAttrib.data-role.always = 1
lib.parseFunc_RTE.externalBlocks.table.stdWrap.HTMLparser.tags.table.fixAttrib.data-role.default = table

lib.parseFunc_RTE.externalBlocks.table.stdWrap.HTMLparser.tags.table.fixAttrib.class.default = ui-responsive
lib.parseFunc_RTE.externalBlocks.table.stdWrap.HTMLparser.tags.table.fixAttrib.class.list = ui-responsive

内容元素

默认<table> HTML

<table class="contenttable contenttable-0 test">
    <thead>
        <tr class="tr-even tr-0">
             <th class="td-0" scope="col" id="col162967-0">head 1</th>
             <th class="td-1" scope="col" id="col162967-1">head 2</th>
             <th class="td-last td-2" scope="col" id="col162967-2">head 3</th>
         </tr>
     </thead>
     <tbody>
         <tr class="tr-odd tr-1">
             <td class="td-0" headers="col162967-0">L 1</td>
             <td class="td-1" headers="col162967-1">...</td>
             <td class="td-last td-2" headers="col162967-2">...</td>
         </tr>
         <tr class="tr-even tr-last">
             <td class="td-0" headers="col162967-0">L 2</td>
             <td class="td-1" headers="col162967-1">...</td>
             <td class="td-last td-2" headers="col162967-2">...</td>
         </tr>
    </tbody>
</table>

尝试解决问题

我在tt_content中找不到添加配置的位置来添加classdata-role

2 个答案:

答案 0 :(得分:1)

对于TABLE内容元素,您至少有两个选项:

:一种。自己渲染表 - 您可以创建自己的PHP方法来处理表。我假设您正在使用 css_styled_content 扩展名,其方法render_table()执行表格的呈现。您可以复制该方法,将其添加到您自己的类并进行修改,以便根据需要添加data-role属性。

<强> B中。做一些替换输出的代码 - 您可以尝试使用replacement的{​​{1}}属性(在TYPO3&gt; = 4.6中提供)来替换 class =“contenttable < / strong> data-role =“table”class =“ui-responsive 。我目前无法测试它,但试试这个:

stdWrap

答案 1 :(得分:0)

伪造的bug报告打开,通过TSconfig TYPO3 forge覆盖Flexform值。

通过重写flexform completly建议的解决方法可以正常工作:

\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPiFlexFormValue('*', 'FILE:EXT:'.$_EXTKEY.'/flexform_table.xml', 'table');