Attention
TYPO3 v9 has reached its end-of-life September 30th, 2021 and is not maintained by the community anymore. Looking for a stable version? Use the version switch on the top left.
You can order Extended Long Term Support (ELTS) here: TYPO3 ELTS.
encapsLines¶
encapsTagList¶
- Property
encapsTagList
- Data type
list of strings
- Description
List of tags which qualify as encapsulating tags. Must be lowercase.
- Example
encapsTagList = div, p
This setting will recognize the red line below as encapsulated lines:
First line of text Some <div>text</div> <p>Some text</p> <div>Some text</div> <B>Some text</B>
remapTag.[tagname]¶
- Property
remapTag.[tagname]
- Data type
- Description
Enter a new tag name here if you wish the tagname of any encapsulation to be unified to a single tag name.
For instance, setting this value to
remapTag.P=DIVwould convert:<p>Some text</p> <div>Some text</div>
to :
<div>Some text</div> <div>Some text</div>
([tagname] is in uppercase.)
addAttributes.[tagname]¶
- Property
addAttributes.[tagname]
- Data type
(array of strings)
- Description
Attributes to set in the encapsulation tag.
([tagname] is in uppercase.)
.setOnly =
- exists
This will set the value ONLY if the property does not already exist.
- blank
This will set the value ONLY if the property does not already exist OR is blank ("").
- Default
Always override/set the value of the attributes.
- Example
addAttributes.P { style = padding-bottom: 0px; margin-top: 1px; margin-bottom: 1px; align = center }
removeWrapping¶
- Property
removeWrapping
- Data type
- Description
If set, then all existing wrapping will be removed.
This:
First line of text Some <div>text</div> <p>Some text</p> <div>Some text</div> <b>Some text</b>
becomes this:
First line of text Some <div>text</div> Some text Some text <b>Some text</b>
wrapNonWrappedLines¶
- Property
wrapNonWrappedLines
- Data type
- Description
Wrapping for non-encapsulated lines
- Example
wrapNonWrappedLines = <p>|</p>
This:
First line of text <p>Some text</p>
becomes this:
<P>First line of text</P> <p>Some text</p>
innerStdWrap_all¶
- Property
innerStdWrap_all
- Data type
- Description
Wraps the content inside all lines, whether they are encapsulated or not.
encapsLinesStdWrap.[tagname]¶
- Property
encapsLinesStdWrap.[tagname]
- Data type
- Description
Wraps the content inside all encapsulated lines.
([tagname] is in uppercase.)
defaultAlign¶
- Property
defaultAlign
- Data type
- Description
If set, this value is set as the default "align" value of the wrapping tags, both from encapsTagList,
bypassEncapsTagListand nonWrappedTag
nonWrappedTag¶
- Property
nonWrappedTag
- Data type
tagname- Description
For all non-wrapped lines, you can here set a tag in which they should be wrapped. Example would be "p". This is an alternative to
wrapNonWrappedLinesand has the advantage that its attributes are set byaddAttributesas well asdefaultAlign. Thus you can match the wrapping tags used for non-wrapped and wrapped lines more easily.
Example¶
encapsLines {
encapsTagList = div,p
remapTag.DIV = P
wrapNonWrappedLines = <p>|</p>
innerStdWrap_all.ifEmpty =
}
This example shows how to handle content rendered by TYPO3 and stylesheets where the <p> tag is used to encapsulate each line.
Say, you have made this content with the Rich Text Editor:
This is line # 1
[Above is an empty line!]
<div style="text-align: right;">This line is right-aligned.</div>
After being processed by encapsLines with the above configuration, the content looks like this:
<p>This is line # 1 </p>
<p> </p>
<p>[Above is an empty line!] </p>
<p style="text-align: right;">This line is right-aligned.</p>
Each line is nicely wrapped with <p> tags. The line from the database
which was already wrapped (but in <div>-tags) has been converted to
<p>, but keeps it's alignment. Overall, notice that the Rich Text Editor
ONLY stored the line which was in fact right-aligned - every other line from the
RTE was stored without any wrapping tags, so that the content in the database
remains as human readable as possible.
Example¶
# Make sure nonTypoTagStdWrap operates
# on content outside <typolist> and <typohead> only:
tt_content.text.20.parseFunc.tags.typolist.breakoutTypoTagContent = 1
tt_content.text.20.parseFunc.tags.typohead.breakoutTypoTagContent = 1
# ... and no <br> before typohead.
tt_content.text.20.parseFunc.tags.typohead.stdWrap.wrap >
# Setting up nonTypoTagStdWrap to wrap the text with p-tags
tt_content.text.20.parseFunc.nonTypoTagStdWrap >
tt_content.text.20.parseFunc.nonTypoTagStdWrap.encapsLines {
encapsTagList = div,p
remapTag.DIV = P
wrapNonWrappedLines = <p style="margin: 0 0 0;">|</p>
# Forcing these attributes onto the encapsulation-tags if any
addAttributes.P {
style=margin: 0 0 0;
}
innerStdWrap_all.ifEmpty =
}
# Finally removing the <br>-tag after the content...
tt_content.text.20.wrap >
This is an example of how to wrap traditional tt_content bodytext
with <p> tags, setting the line-distances to regular space like that
generated by a <br> tag, but staying compatible with the RTE features
such as assigning classes and alignment to paragraphs.