[BUGFIX] Tolerate record without pid (#2087)
[BUGFIX] Tolerate record without pid (#2087)
This fix the bug which leads to an BE error for newly placed content elements with a flud:field.text and enabled rte.
New placed content elements which are not saved doesn't have a pid in the record.
---------
Co-authored-by: Claus Due <[email protected]>
paulAtSlim
2023-06-01
[TASK] Remove interceptor from test configuration
[TASK] Remove interceptor from test configuration
NamelessCoder
2023-06-01
[BUGFIX] Check if initializeObject method exists before calling
[BUGFIX] Check if initializeObject method exists before calling
NamelessCoder
2023-06-01
[BUGFIX] Restore TCEforms wrapper patching
[BUGFIX] Restore TCEforms wrapper patching
Although nearly every aspect of TYPO3 has no issues with a DS that
does not contain the "TCEforms" wrapper around every field, there are
still a couple of places (e.g. SuggestWizardController), as well as some
third party solutions like l10n_mgr that will not tolerate a DS without
this wrapper.
Close: #1805
NamelessCoder
2023-04-18
[BUGFIX] Read FF data from current field if passed
[BUGFIX] Read FF data from current field if passed
NamelessCoder
2023-04-10
[BUGFIX] Preserve custom showitem but ensure presence of pi_flexform …
[BUGFIX] Preserve custom showitem but ensure presence of pi_flexform field
NamelessCoder
2023-04-10
[BUGFIX] Do not deliver DS for CType with existing DS definition
[BUGFIX] Do not deliver DS for CType with existing DS definition
NamelessCoder
2023-04-07
[BUGFIX] Do not naively override existing TCA showitem
[BUGFIX] Do not naively override existing TCA showitem
NamelessCoder
2023-04-07
[BUGFIX] Ensure CType is registered in CType selection field
[BUGFIX] Ensure CType is registered in CType selection field
NamelessCoder
2023-04-07
[BUGFIX] Add field name to key of extracted variables
[BUGFIX] Add field name to key of extracted variables
NamelessCoder
2023-04-07
[BUGFIX] Avoid registering content types as plugin types
[BUGFIX] Avoid registering content types as plugin types
NamelessCoder
2023-03-27
[TASK] Make phpcs happy again
[TASK] Make phpcs happy again
NamelessCoder
2023-03-23
[TASK] Make phpstan happy again
[TASK] Make phpstan happy again
NamelessCoder
2023-03-23
[BUGFIX] Use TYPO3_REQUESTTYPE if it is defined
[BUGFIX] Use TYPO3_REQUESTTYPE if it is defined
Fixes issue on TYPO3v10/v11 where Extbase-based backend modules
may not work correctly due to retained instance of ConfigurationManager
having a FrontendConfigurationManager in BE context.
NamelessCoder
2023-03-23
[BUGFIX] Do not attempt to call non-existing setter methods
[BUGFIX] Do not attempt to call non-existing setter methods
NamelessCoder
2023-03-17
[TASK] Remove unused internal method
[TASK] Remove unused internal method
NamelessCoder
2023-03-14
[BUGFIX] Fix version matching in CompatibilityRegistry
[BUGFIX] Fix version matching in CompatibilityRegistry
NamelessCoder
2023-03-14
[FEATURE] Pass field name and Form instance to custom transform methods
[FEATURE] Pass field name and Form instance to custom transform methods
NamelessCoder
2023-03-14
[FEATURE] Allow single provider to handle multiple fields/forms
[FEATURE] Allow single provider to handle multiple fields/forms
This change allows a single provider class to return multiple different
forms (based on field name). A custom provider may return multiple
different values from the "getConfigurationSectionName" method,
causing Flux to extract a Form definition from different sections based
on which field name is currently being processed.
The provider must override the "trigger" method with a custom
implementation to make it return TRUE for all handled values of $field,
including NULL.
Example implementation, custom Provider class:
```php
class MyProvider extends AbstractProvider
{
public function trigger(array $row, ?string $table, ?string $field, ?string $extensionKey = null): bool
{
return $table === 'tt_content'
&& $this->getContentObjectType() === $row['CType']
&& in_array($field, [null, 'pi_flexform', 'header_options', 'wrapper_options'], true);
}
public function getConfigurationSectionName(array $row, ?string $forField = null): ?string
{
return match($forField) {
'header_options' => 'HeaderOptions',
'wrapper_options' => 'WrapperOptions',
'pi_flexform' => 'Configuration',
null => 'Configuration',
};
}
}
```
Example implementation, template file:
```xml
<f:section name="WrapperOptions">
<flux:form id="my-wrapperoptions">
<flux:field type="input" name="wrapper" label="Field in wrapper options Form" />
</flux:form>
</f:section>
<f:section name="HeaderOptions">
<flux:form id="my-headeroptions">
<flux:field type="input" name="header" label="Field in header options Form" />
</flux:form>
</f:section>
<f:section name="Configuration">
<flux:form id="my-default-form">
<flux:field type="input" name="default" label="Field in default Form" />
</flux:form>
</f:section>
<f:section name="Main">
<!-- output -->
</f:section>
```
NamelessCoder
2023-03-06
[BUGFIX] Avoid duplicate event identifier
[BUGFIX] Avoid duplicate event identifier
NamelessCoder
2023-03-03