erhaweb / l10ntable-extended
借助此扩展,Info模块内的本地化概览增加了“编辑所有语言覆盖记录”按钮,具有可自定义的字段。这使用户能够方便地对页面翻译的可配置字段进行批量编辑。
Requires
- php: ^8.1 || ^8.2 || ^8.3
- typo3/cms-core: ^12.4 || ^13.0
- typo3/cms-info: ^12.4 || ^13.0
Requires (Dev)
- roave/security-advisories: dev-latest
README
由Eric Harrer编写的TYPO3扩展
描述
借助此扩展,Info模块内的本地化概览增加了增强的编辑所有语言覆盖记录
按钮,具有可自定义的字段。
这使用户能够方便地对页面翻译的可配置字段进行批量编辑。默认情况下,只有title
、nav_title
和hidden
字段在翻译视图中可用进行批量处理。现在,这可以扩展到任何(现有)页面字段。
安装
使用Composer安装此扩展:
composer req erhaweb/l10ntable-extended
如何使用
通过用户TSconfig进行全局配置
安装后,可以在User TSconfig
中定义以下内容,以便管理员为后端用户组或单个后端用户指定可以编辑的列
tx_l10ntableextended {
replaceColumnsList := addToList(seo_title,description)
}
在此示例中,将seo_title
和description
这两个字段添加到标准字段列表title,nav_title,hidden
中。
当然,也可以省略默认使用的所有或某些字段,仅使用自己的字段。在这种情况下,通过简单的=
语句覆盖默认列表。
tx_l10ntableextended {
replaceColumnsList = seo_title,description
}
在页面类型上下文中不可用的字段(例如,类型为Folder [254]
的页面的seo_title
字段)在批量编辑上下文中不会显示。
不在$GLOBALS['TCA']['pages']['columns']
中存在的字段根本不被考虑。
在站点包中覆盖全局配置
请注意,您的站点包必须在EXT:l10ntable_extended
之后加载,以便可以在文件级别覆盖默认用户TSconfig。
可以通过在您的站点包扩展的ext_emconf.php
文件中添加以下配置来实现:
$EM_CONF[$_EXTKEY]['constraints']['depends']['l10ntable_extended'] = '';
扩展配置
在“管理工具”>“设置”>“扩展配置”下,您可以确定是否允许非管理员后端用户在其用户设置中确定可编辑的字段列表。为此设置选项
enableUserSettings = 1
通过后端用户设置进行配置
如果已激活扩展配置中的用户设置,则所有后端用户(包括非管理员用户)都可以通过多选字段确定应可编辑的页面字段。
注意
请不要对此扩展期望太多。它基于函数TranslationStatusController::renderL10nTable
最终输出的简单字符串替换。
缺点是,如果未来方法的输出发生变化,此扩展的功能将中断。毕竟,在TYPO3 v11和v12中,所需位置的输出始终保持一致。
此方法的优点是,尽管使用了XCLASS,但不会与核心行为出现任何问题。
提示
如果未来版本中TYPO3核心用于批量编辑的默认字段确实已更改,并且此扩展不再工作,请尝试更新以下默认 User TSconfig
设置以匹配新的字段列表
tx_l10ntableextended {
searchColumnsList = title,nav_title,l18n_cfg,hidden|title,nav_title,hidden
}
管道符号 |
允许您定义要替换为最终HTML输出中 tx_l10ntableextended.replaceColumnsList
的多个可能的搜索列列表。这样,您就可以同时操作默认语言的按钮和非默认语言的按钮,从而对所有可用语言的单独可定义字段进行更改。
甚至 EditDocumentController
评估的 columnsOnly
参数的名称也可以使用以下设置进行自定义。
tx_l10ntableextended {
columnsUrlParameter = columnsOnly
}
但是,通常情况下不应这样做。