TYPO3 v15 dev-main snapshot ()
This commit is contained in:
@@ -0,0 +1,143 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
use TYPO3\CMS\Core\Utility\ExtensionManagementUtility;
|
||||
use TYPO3\CMS\Frontend\Controller\ShowImageController;
|
||||
|
||||
defined('TYPO3') or die();
|
||||
|
||||
// Register eID provider for showpic
|
||||
$GLOBALS['TYPO3_CONF_VARS']['FE']['eID_include']['tx_cms_showpic'] = ShowImageController::class . '::processRequest';
|
||||
|
||||
ExtensionManagementUtility::addTypoScriptSetup(
|
||||
'
|
||||
# Creates persistent ParseFunc setup for non-HTML content.
|
||||
lib.parseFunc {
|
||||
makelinks = 1
|
||||
makelinks {
|
||||
http {
|
||||
keep = path
|
||||
extTarget = _blank
|
||||
}
|
||||
mailto {
|
||||
keep = path
|
||||
}
|
||||
}
|
||||
tags {
|
||||
a = TEXT
|
||||
a {
|
||||
current = 1
|
||||
typolink {
|
||||
parameter.data = parameters:href
|
||||
title.data = parameters:title
|
||||
target.data = parameters:target
|
||||
ATagParams.data = parameters:allParams
|
||||
}
|
||||
}
|
||||
}
|
||||
nonTypoTagStdWrap {
|
||||
HTMLparser = 1
|
||||
HTMLparser {
|
||||
keepNonMatchedTags = 1
|
||||
htmlSpecialChars = 2
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# Creates persistent ParseFunc setup for RTE content (which is mainly HTML) based on the "default" transformation.
|
||||
lib.parseFunc_RTE < lib.parseFunc
|
||||
lib.parseFunc_RTE {
|
||||
# Processing <ol>, <ul> and <table> blocks separately
|
||||
externalBlocks = article, aside, blockquote, div, dd, dl, footer, header, nav, ol, section, table, ul, pre, figure, figcaption
|
||||
externalBlocks {
|
||||
ol {
|
||||
stripNL = 1
|
||||
stdWrap.parseFunc = < lib.parseFunc
|
||||
}
|
||||
ul {
|
||||
stripNL = 1
|
||||
stdWrap.parseFunc = < lib.parseFunc
|
||||
}
|
||||
pre {
|
||||
stdWrap.parseFunc < lib.parseFunc
|
||||
}
|
||||
table {
|
||||
stripNL = 1
|
||||
stdWrap {
|
||||
HTMLparser = 1
|
||||
HTMLparser {
|
||||
keepNonMatchedTags = 1
|
||||
}
|
||||
}
|
||||
HTMLtableCells = 1
|
||||
HTMLtableCells {
|
||||
# Recursive call to self but without wrapping non-wrapped cell content
|
||||
default.stdWrap {
|
||||
parseFunc = < lib.parseFunc_RTE
|
||||
parseFunc.nonTypoTagStdWrap.encapsLines {
|
||||
nonWrappedTag =
|
||||
innerStdWrap_all.ifBlank =
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
# ideally, "div" is not calling itself recursive, but instead uses a similar approach as ol/ul/pre
|
||||
# so it is a container with content, which does not need to be wrapping <p> tags in it.
|
||||
div {
|
||||
stripNL = 1
|
||||
callRecursive = 1
|
||||
}
|
||||
article < .div
|
||||
aside < .div
|
||||
figure < .div
|
||||
figcaption {
|
||||
stripNL = 1
|
||||
}
|
||||
blockquote < .div
|
||||
footer < .div
|
||||
header < .div
|
||||
nav < .div
|
||||
section < .div
|
||||
dl < .div
|
||||
dd < .div
|
||||
}
|
||||
nonTypoTagStdWrap {
|
||||
encapsLines {
|
||||
encapsTagList = p,pre,h1,h2,h3,h4,h5,h6,hr,dt
|
||||
nonWrappedTag = P
|
||||
innerStdWrap_all.ifBlank =
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# Content selection
|
||||
styles.content.get = CONTENT
|
||||
styles.content.get {
|
||||
table = tt_content
|
||||
select {
|
||||
orderBy = sorting
|
||||
where = {#colPos}=0
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
# Content element rendering
|
||||
tt_content = CASE
|
||||
tt_content {
|
||||
key {
|
||||
field = CType
|
||||
}
|
||||
default = TEXT
|
||||
default {
|
||||
field = CType
|
||||
htmlSpecialChars = 1
|
||||
wrap = <p style="background-color: yellow; padding: 0.5em 1em;"><strong>ERROR:</strong> Content Element with uid "{field:uid}" and type "|" has no rendering definition!</p>
|
||||
wrap.insertData = 1
|
||||
}
|
||||
}
|
||||
'
|
||||
);
|
||||
|
||||
// Register search key shortcuts
|
||||
$GLOBALS['TYPO3_CONF_VARS']['SYS']['livesearch']['content'] = 'tt_content';
|
||||
Reference in New Issue
Block a user