TypoScript Setup Reference¶
Table of contents
Contents
Configure prefix and suffix¶
plugin.tx_contentslug
Property | Data type | Default |
---|---|---|
urlFragmentPrefix | Content Object (cObject) | TEXT cObject with current UID |
urlFragmentSuffix | Content Object (cObject) | TEXT cObject with current UID |
replaceFragmentInPageLinks | boolean | 1 |
urlFragmentPrefix¶
Property
urlFragmentPrefix
Data type
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}
}
Result:
c<uid>-<human-readable-fragment>
c123-section-of-interest
urlFragmentSuffix¶
Property
urlFragmentSuffix
Data type
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}
}
Result (if activated):
<human-readable-fragment>-<uid>
section-of-interest-123
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
FragmentIdentifierProcessor
, which will process the URL fragments for the “Section Index” content elements. - The
replaceFragment
hook, which allows to overwrite fragments for links set in the rich text editor or in TCA fields with renderTypeinputLink
.
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
}