TypoScript Setup Reference¶
Contents
Configure prefix and suffix¶
plugin.tx_contentslug
Property |
Data type |
Default |
---|---|---|
TEXT cObject with current UID |
||
TEXT cObject with current UID |
||
t3tsref:data-type-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
settings.replaceFragmentInPageLinks¶
Property
settings.replaceFragmentInPageLinks
Data type
t3tsref:data-type-boolean
Description
When activated, fragment links set in the RTE or TCA fields of type
inputLink
are replaced with the human-readable fragment identifier.
Default
1
(per 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
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
}