TypoScript Setup Reference
Configure prefix and suffix
plugin.
Property | Data type | Default |
---|---|---|
urlFragmentPrefix | data-type-cobject | TEXT cObject with current UID |
urlFragmentSuffix | data-type-cobject | TEXT cObject with current UID |
replaceFragmentInPageLinks | boolean | 1 |
checkForHiddenHeaders | boolean | 1 |
urlFragmentPrefix
- Property
- urlFragmentPrefix
- Data type
- data-type-cobject
- Description
-
This cObject can be used to render a prefix for the human-readable URL fragment.
Prefix, suffix, and fragment are assembled in the custom variable fragmentIdentifier of
lib.contentElement
.Note
The prefix is enabled by default with the corresponding TypoScript constant.
Default:
plugin.tx_contentslug.urlFragmentPrefix = TEXT plugin.tx_contentslug.urlFragmentPrefix { field = uid stdWrap.noTrimWrap = |c|-| if.isTrue = {$plugin.tx_contentslug.settings.renderPrefix} }
Copied!Result:
c<uid>-<human-readable-fragment> c123-section-of-interest
Copied!
urlFragmentSuffix
- Property
- urlFragmentSuffix
- Data type
- data-type-cobject
- Description
-
This cObject can be used to render a suffix for the human-readable URL fragment.
Prefix, suffix, and fragment are assembled in the custom variable fragmentIdentifier of
lib.contentElement
.Note
The suffix is disabled by default with the corresponding TypoScript constant.
Default:
plugin.tx_contentslug.urlFragmentSuffix = TEXT plugin.tx_contentslug.urlFragmentSuffix { field = uid stdWrap.noTrimWrap = |-|| if.isTrue = {$plugin.tx_contentslug.settings.renderSuffix} }
Copied!Result (if activated):
<human-readable-fragment>-<uid> section-of-interest-123
Copied!
settings.replaceFragmentInPageLinks
- Property
- settings.replaceFragmentInPageLinks
- Data type
- boolean
- Description
- When activated, fragment links set in the RTE or TCA fields of type
input
are replaced with the human-readable fragment identifier.Link - Default
1
(via TypoScript constant)
Assemble the fragmentIdentifier
variable
This variable is available in all Fluid templates of EXT:fluid_styled_content and allows to configure the complete URL fragment at a central place.
Attention
This variable is also processed in the following classes:
- The custom DataProcessor
Fragment
, which will process the URL fragments for the "Section Index" content elements.Identifier Processor - The
Modify
event listener, which allows to overwrite fragments for links set in the rich text editor or in TCA fields with renderTypeFragment input
.Link
lib.contentElement {
// Override default templates of fluid_styled_content:
partialRootPaths.101 = EXT:content_slug/Resources/Private/Overrides/fluid_styled_content/Partials/
templateRootPaths.101 = EXT:content_slug/Resources/Private/Overrides/fluid_styled_content/Templates/
// Build a complete fragment identifier with possible prefix and suffix:
variables {
fragmentIdentifier = COA
fragmentIdentifier {
if.isTrue.field = tx_content_slug_fragment
10 =< plugin.tx_contentslug.urlFragmentPrefix
20 = TEXT
20.field = tx_content_slug_fragment
30 =< plugin.tx_contentslug.urlFragmentSuffix
stdWrap.trim = 1
}
}
}
Sanitize custom data with postUserFunc
In case you append or prepend some custom strings, you can use the fragment evaluation to sanitize the completed URL fragment again:
urlFragmentSuffix = TEXT
urlFragmentSuffix {
field = subheader
if.isTrue.field = subheader
stdWrap.noTrimWrap = |-||
}
lib.contentElement.variables.fragmentIdentifier {
stdWrap.postUserFunc = Sebkln\ContentSlug\Evaluation\FragmentEvaluation->sanitizeFragment
}