TYPO3 BE 列表视图 - 带分号的 CSV 导出

TYPO3 BE list view - CSV export with semicolon

当我尝试在 TYPO3 后端的列表视图中使用 CSV 导出时,我得到一个 CSV,其中以逗号 , 作为分隔符而不是分号 ;。有可能改变吗?

不可配置。您可以做什么:XClass \TYPO3\CMS\Recordlist\RecordList\DatabaseRecordList 与您自己的 class 在一个小扩展中。你只需要覆盖一个调用GeneralUtility::csvValues()的方法。这将分隔符作为第二个参数(默认值:,)。

<?php
// Location of file: EXT:extension/Classes/Xclass/DatabaseRecordList.php
namespace My\Extension\Xclass;

/**
 * Class for rendering of Web>List module
 *
 * @author Kasper Skårhøj <kasperYYYY@typo3.com>
 */
class DatabaseRecordList extends \TYPO3\CMS\Recordlist\RecordList\DatabaseRecordList {

    /**
     * Adds input row of values to the internal csvLines array as a CSV formatted line
     *
     * @param array $csvRow Array with values to be listed.
     * @return void
     * @todo Define visibility
     */
    public function setCsvRow($csvRow) {
        $this->csvLines[] = \TYPO3\CMS\Core\Utility\GeneralUtility::csvValues($csvRow, ';');
    }

}

在你的ext_localconf.php中:

$GLOBALS['TYPO3_CONF_VARS']['SYS']['Objects']['TYPO3\CMS\Recordlist\RecordList\DatabaseRecordList'] = array(
    'className' => 'My\Extension\Xclass\DatabaseRecordList'
);

然后清除系统缓存。

从 TYPO3 9.2 开始可以配置,因为有 2 个新设置

  • mod.web_list.csvDelimiter = , - 定义 csv 值之间的分隔符
  • mod.web_list.csvQuote = " - 定义引号字符来包装 csv 值