[FEATURE] Add backend for loading translations via ajax
This commit is contained in:
28
Configuration/FlexForms/flexform_translation.xml
Normal file
28
Configuration/FlexForms/flexform_translation.xml
Normal file
@@ -0,0 +1,28 @@
|
||||
<T3DataStructure>
|
||||
<sheets>
|
||||
<sDEF>
|
||||
<ROOT>
|
||||
<TCEforms>
|
||||
<sheetTitle>Function</sheetTitle>
|
||||
</TCEforms>
|
||||
<type>array</type>
|
||||
<el>
|
||||
<switchableControllerActions>
|
||||
<TCEforms>
|
||||
<label>Select function</label>
|
||||
<config>
|
||||
<type>select</type>
|
||||
<items>
|
||||
<numIndex index="0">
|
||||
<numIndex index="0">Translation</numIndex>
|
||||
<numIndex index="1">Translation->translations</numIndex>
|
||||
</numIndex>
|
||||
</items>
|
||||
</config>
|
||||
</TCEforms>
|
||||
</switchableControllerActions>
|
||||
</el>
|
||||
</ROOT>
|
||||
</sDEF>
|
||||
</sheets>
|
||||
</T3DataStructure>
|
||||
@@ -23,7 +23,7 @@ return [
|
||||
'showRecordFieldList' => 'sys_language_uid, l10n_parent, l10n_diffsource, hidden, ',
|
||||
],
|
||||
'types' => [
|
||||
'1' => ['showitem' => 'sys_language_uid, l10n_parent, l10n_diffsource, hidden, , --div--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:tabs.access, starttime, endtime'],
|
||||
'1' => ['showitem' => ', --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:language, sys_language_uid, l10n_parent, l10n_diffsource, --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:access, hidden, starttime, endtime'],
|
||||
],
|
||||
'columns' => [
|
||||
'sys_language_uid' => [
|
||||
|
||||
120
Configuration/TCA/tx_templatesaide_domain_model_translation.php
Normal file
120
Configuration/TCA/tx_templatesaide_domain_model_translation.php
Normal file
@@ -0,0 +1,120 @@
|
||||
<?php
|
||||
return [
|
||||
'ctrl' => [
|
||||
'title' => 'LLL:EXT:templates_aide/Resources/Private/Language/locallang_db.xlf:tx_templatesaide_domain_model_translation',
|
||||
'label' => 'uid',
|
||||
'tstamp' => 'tstamp',
|
||||
'crdate' => 'crdate',
|
||||
'cruser_id' => 'cruser_id',
|
||||
'versioningWS' => true,
|
||||
'languageField' => 'sys_language_uid',
|
||||
'transOrigPointerField' => 'l10n_parent',
|
||||
'transOrigDiffSourceField' => 'l10n_diffsource',
|
||||
'delete' => 'deleted',
|
||||
'enablecolumns' => [
|
||||
'disabled' => 'hidden',
|
||||
'starttime' => 'starttime',
|
||||
'endtime' => 'endtime',
|
||||
],
|
||||
'searchFields' => '',
|
||||
'iconfile' => 'EXT:templates_aide/Resources/Public/Icons/tx_templatesaide_domain_model_translation.gif'
|
||||
],
|
||||
'interface' => [
|
||||
'showRecordFieldList' => 'sys_language_uid, l10n_parent, l10n_diffsource, hidden, ',
|
||||
],
|
||||
'types' => [
|
||||
'1' => ['showitem' => ', --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:language, sys_language_uid, l10n_parent, l10n_diffsource, --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:access, hidden, starttime, endtime'],
|
||||
],
|
||||
'columns' => [
|
||||
'sys_language_uid' => [
|
||||
'exclude' => true,
|
||||
'label' => 'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.language',
|
||||
'config' => [
|
||||
'type' => 'select',
|
||||
'renderType' => 'selectSingle',
|
||||
'special' => 'languages',
|
||||
'items' => [
|
||||
[
|
||||
'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.allLanguages',
|
||||
-1,
|
||||
'flags-multiple'
|
||||
]
|
||||
],
|
||||
'default' => 0,
|
||||
],
|
||||
],
|
||||
'l10n_parent' => [
|
||||
'displayCond' => 'FIELD:sys_language_uid:>:0',
|
||||
'exclude' => true,
|
||||
'label' => 'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.l18n_parent',
|
||||
'config' => [
|
||||
'type' => 'select',
|
||||
'renderType' => 'selectSingle',
|
||||
'default' => 0,
|
||||
'items' => [
|
||||
['', 0],
|
||||
],
|
||||
'foreign_table' => 'tx_templatesaide_domain_model_translation',
|
||||
'foreign_table_where' => 'AND {#tx_templatesaide_domain_model_translation}.{#pid}=###CURRENT_PID### AND {#tx_templatesaide_domain_model_translation}.{#sys_language_uid} IN (-1,0)',
|
||||
],
|
||||
],
|
||||
'l10n_diffsource' => [
|
||||
'config' => [
|
||||
'type' => 'passthrough',
|
||||
],
|
||||
],
|
||||
't3ver_label' => [
|
||||
'label' => 'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.versionLabel',
|
||||
'config' => [
|
||||
'type' => 'input',
|
||||
'size' => 30,
|
||||
'max' => 255,
|
||||
],
|
||||
],
|
||||
'hidden' => [
|
||||
'exclude' => true,
|
||||
'label' => 'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.visible',
|
||||
'config' => [
|
||||
'type' => 'check',
|
||||
'renderType' => 'checkboxToggle',
|
||||
'items' => [
|
||||
[
|
||||
0 => '',
|
||||
1 => '',
|
||||
'invertStateDisplay' => true
|
||||
]
|
||||
],
|
||||
],
|
||||
],
|
||||
'starttime' => [
|
||||
'exclude' => true,
|
||||
'label' => 'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.starttime',
|
||||
'config' => [
|
||||
'type' => 'input',
|
||||
'renderType' => 'inputDateTime',
|
||||
'eval' => 'datetime,int',
|
||||
'default' => 0,
|
||||
'behaviour' => [
|
||||
'allowLanguageSynchronization' => true
|
||||
]
|
||||
],
|
||||
],
|
||||
'endtime' => [
|
||||
'exclude' => true,
|
||||
'label' => 'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.endtime',
|
||||
'config' => [
|
||||
'type' => 'input',
|
||||
'renderType' => 'inputDateTime',
|
||||
'eval' => 'datetime,int',
|
||||
'default' => 0,
|
||||
'range' => [
|
||||
'upper' => mktime(0, 0, 0, 1, 1, 2038)
|
||||
],
|
||||
'behaviour' => [
|
||||
'allowLanguageSynchronization' => true
|
||||
]
|
||||
],
|
||||
],
|
||||
|
||||
],
|
||||
];
|
||||
@@ -14,6 +14,21 @@ plugin.tx_templatesaide_dummy {
|
||||
}
|
||||
}
|
||||
|
||||
plugin.tx_templatesaide_translationplugin {
|
||||
view {
|
||||
# cat=plugin.tx_templatesaide_translationplugin/file; type=string; label=Path to template root (FE)
|
||||
templateRootPath = EXT:templates_aide/Resources/Private/Templates/
|
||||
# cat=plugin.tx_templatesaide_translationplugin/file; type=string; label=Path to template partials (FE)
|
||||
partialRootPath = EXT:templates_aide/Resources/Private/Partials/
|
||||
# cat=plugin.tx_templatesaide_translationplugin/file; type=string; label=Path to template layouts (FE)
|
||||
layoutRootPath = EXT:templates_aide/Resources/Private/Layouts/
|
||||
}
|
||||
persistence {
|
||||
# cat=plugin.tx_templatesaide_translationplugin//a; type=string; label=Default storage PID
|
||||
storagePid =
|
||||
}
|
||||
}
|
||||
|
||||
## EXTENSION BUILDER DEFAULTS END TOKEN - Everything BEFORE this line is overwritten with the defaults of the extension builder
|
||||
|
||||
<INCLUDE_TYPOSCRIPT: source="FILE:EXT:templates_aide/Resources/Private/TypoScript/constants.ts">
|
||||
<INCLUDE_TYPOSCRIPT: source="FILE:EXT:templates_aide/Resources/Private/TypoScript/constants.ts">
|
||||
@@ -1,11 +1,11 @@
|
||||
|
||||
plugin.tx_templatesaide_dummy {
|
||||
view {
|
||||
templateRootPaths.0 = EXT:{extension.shortExtensionKey}/Resources/Private/Templates/
|
||||
templateRootPaths.0 = EXT:templates_aide/Resources/Private/Templates/
|
||||
templateRootPaths.1 = {$plugin.tx_templatesaide_dummy.view.templateRootPath}
|
||||
partialRootPaths.0 = EXT:templates_aide/Resources/Private/Partials/
|
||||
partialRootPaths.1 = {$plugin.tx_templatesaide_dummy.view.partialRootPath}
|
||||
layoutRootPaths.0 = EXT:tx_templatesaide/Resources/Private/Layouts/
|
||||
layoutRootPaths.0 = EXT:templates_aide/Resources/Private/Layouts/
|
||||
layoutRootPaths.1 = {$plugin.tx_templatesaide_dummy.view.layoutRootPath}
|
||||
}
|
||||
persistence {
|
||||
@@ -24,6 +24,31 @@ plugin.tx_templatesaide_dummy {
|
||||
}
|
||||
}
|
||||
|
||||
plugin.tx_templatesaide_translationplugin {
|
||||
view {
|
||||
templateRootPaths.0 = EXT:templates_aide/Resources/Private/Templates/
|
||||
templateRootPaths.1 = {$plugin.tx_templatesaide_translationplugin.view.templateRootPath}
|
||||
partialRootPaths.0 = EXT:templates_aide/Resources/Private/Partials/
|
||||
partialRootPaths.1 = {$plugin.tx_templatesaide_translationplugin.view.partialRootPath}
|
||||
layoutRootPaths.0 = EXT:templates_aide/Resources/Private/Layouts/
|
||||
layoutRootPaths.1 = {$plugin.tx_templatesaide_translationplugin.view.layoutRootPath}
|
||||
}
|
||||
persistence {
|
||||
storagePid = {$plugin.tx_templatesaide_translationplugin.persistence.storagePid}
|
||||
#recursive = 1
|
||||
}
|
||||
features {
|
||||
#skipDefaultArguments = 1
|
||||
# if set to 1, the enable fields are ignored in BE context
|
||||
ignoreAllEnableFieldsInBe = 0
|
||||
# Should be on by default, but can be disabled if all action in the plugin are uncached
|
||||
requireCHashArgumentForActionArguments = 1
|
||||
}
|
||||
mvc {
|
||||
#callDefaultActionIfActionCantBeResolved = 1
|
||||
}
|
||||
}
|
||||
|
||||
# these classes are only used in auto-generated templates
|
||||
plugin.tx_templatesaide._CSS_DEFAULT_STYLE (
|
||||
textarea.f3-form-error {
|
||||
|
||||
Reference in New Issue
Block a user