first commit
This commit is contained in:
commit
1218dd1517
12716 files changed
+989233
No files matched your search
@@ -0,0 +1,13 @@
|
||||
<?php
|
||||
defined('TYPO3_MODE') or die();
|
||||
|
||||
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addStaticFile(
|
||||
'fluid_styled_content',
|
||||
'Configuration/TypoScript/',
|
||||
'Fluid Content Elements'
|
||||
);
|
||||
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addStaticFile(
|
||||
'fluid_styled_content',
|
||||
'Configuration/TypoScript/Styling/',
|
||||
'Fluid Content Elements CSS (optional)'
|
||||
);
|
||||
+38
@@ -0,0 +1,38 @@
|
||||
# Bullet List:
|
||||
# A single bullet list.
|
||||
#
|
||||
# CType: bullets
|
||||
|
||||
tt_content.bullets =< lib.contentElement
|
||||
tt_content.bullets {
|
||||
templateName = Bullets
|
||||
dataProcessing {
|
||||
10 = TYPO3\CMS\Frontend\DataProcessing\SplitProcessor
|
||||
10 {
|
||||
if {
|
||||
value = 2
|
||||
isLessThan.field = bullets_type
|
||||
}
|
||||
fieldName = bodytext
|
||||
removeEmptyEntries = 1
|
||||
as = bullets
|
||||
}
|
||||
20 = TYPO3\CMS\Frontend\DataProcessing\CommaSeparatedValueProcessor
|
||||
20 {
|
||||
fieldName = bodytext
|
||||
if {
|
||||
value = 2
|
||||
equals.field = bullets_type
|
||||
}
|
||||
fieldDelimiter = |
|
||||
as = bullets
|
||||
}
|
||||
}
|
||||
stdWrap {
|
||||
editIcons = tt_content: header [header_layout], bodytext [bullets_type]
|
||||
editIcons {
|
||||
beforeLastTag = 1
|
||||
iconTitle.data = LLL:EXT:fluid_styled_content/Resources/Private/Language/FrontendEditing.xlf:editIcon.bullets
|
||||
}
|
||||
}
|
||||
}
|
||||
+9
@@ -0,0 +1,9 @@
|
||||
# Divider:
|
||||
# This element inserts a visual divider, which is by default a horizontal line.
|
||||
#
|
||||
# CType: div
|
||||
|
||||
tt_content.div =< lib.contentElement
|
||||
tt_content.div {
|
||||
templateName = Div
|
||||
}
|
||||
+16
@@ -0,0 +1,16 @@
|
||||
# Header Only:
|
||||
# Adds a header only.
|
||||
#
|
||||
# CType: header
|
||||
|
||||
tt_content.header =< lib.contentElement
|
||||
tt_content.header {
|
||||
templateName = Header
|
||||
stdWrap {
|
||||
editIcons = tt_content: header [header_layout|header_link], subheader, date
|
||||
editIcons {
|
||||
beforeLastTag = 1
|
||||
iconTitle.data = LLL:EXT:fluid_styled_content/Resources/Private/Language/FrontendEditing.xlf:editIcon.header
|
||||
}
|
||||
}
|
||||
}
|
||||
+16
@@ -0,0 +1,16 @@
|
||||
# Plain HTML:
|
||||
# With this element you can output raw HTML code on the page.
|
||||
#
|
||||
# CType: html
|
||||
|
||||
tt_content.html =< lib.contentElement
|
||||
tt_content.html {
|
||||
templateName = Html
|
||||
stdWrap {
|
||||
editIcons = tt_content: bodytext
|
||||
editIcons {
|
||||
beforeLastTag = 1
|
||||
iconTitle.data = LLL:EXT:fluid_styled_content/Resources/Private/Language/FrontendEditing.xlf:editIcon.html
|
||||
}
|
||||
}
|
||||
}
|
||||
+29
@@ -0,0 +1,29 @@
|
||||
# Image:
|
||||
# ...
|
||||
#
|
||||
# CType: image
|
||||
|
||||
tt_content.image =< lib.contentElement
|
||||
tt_content.image {
|
||||
templateName = Image
|
||||
dataProcessing {
|
||||
10 = TYPO3\CMS\Frontend\DataProcessing\FilesProcessor
|
||||
10 {
|
||||
references.fieldName = image
|
||||
}
|
||||
20 = TYPO3\CMS\Frontend\DataProcessing\GalleryProcessor
|
||||
20 {
|
||||
maxGalleryWidth = {$styles.content.textmedia.maxW}
|
||||
maxGalleryWidthInText = {$styles.content.textmedia.maxWInText}
|
||||
columnSpacing = {$styles.content.textmedia.columnSpacing}
|
||||
borderWidth = {$styles.content.textmedia.borderWidth}
|
||||
borderPadding = {$styles.content.textmedia.borderPadding}
|
||||
}
|
||||
}
|
||||
stdWrap {
|
||||
editIcons = tt_content : image [imageorient|imagewidth|imageheight], [imagecols|imageborder], image_zoom
|
||||
editIcons {
|
||||
iconTitle.data = LLL:EXT:fluid_styled_content/Resources/Private/Language/FrontendEditing.xlf:editIcon.image
|
||||
}
|
||||
}
|
||||
}
|
||||
+15
@@ -0,0 +1,15 @@
|
||||
# General Plugin:
|
||||
# This is the default rendering definition for plugins.
|
||||
#
|
||||
# CType: list
|
||||
|
||||
tt_content.list =< lib.contentElement
|
||||
tt_content.list {
|
||||
templateName = List
|
||||
stdWrap {
|
||||
editIcons = tt_content: header [header_layout], list_type, layout, pages [recursive]
|
||||
editIcons {
|
||||
iconTitle.data = LLL:EXT:fluid_styled_content/Resources/Private/Language/FrontendEditing.xlf:editIcon.list
|
||||
}
|
||||
}
|
||||
}
|
||||
+28
@@ -0,0 +1,28 @@
|
||||
# Menu of subpages of selected pages including abstracts:
|
||||
# ...
|
||||
#
|
||||
# CType: menu_abstract
|
||||
|
||||
tt_content.menu_abstract =< lib.contentElement
|
||||
tt_content.menu_abstract {
|
||||
templateName = MenuAbstract
|
||||
dataProcessing {
|
||||
10 = TYPO3\CMS\Frontend\DataProcessing\MenuProcessor
|
||||
10 {
|
||||
special = directory
|
||||
special.value.field = pages
|
||||
dataProcessing {
|
||||
10 = TYPO3\CMS\Frontend\DataProcessing\FilesProcessor
|
||||
10 {
|
||||
references.fieldName = media
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
stdWrap {
|
||||
editIcons = tt_content: header [header_layout], pages
|
||||
editIcons {
|
||||
iconTitle.data = LLL:EXT:fluid_styled_content/Resources/Private/Language/FrontendEditing.xlf:editIcon.menu
|
||||
}
|
||||
}
|
||||
}
|
||||
+37
@@ -0,0 +1,37 @@
|
||||
# Content elements for selected categories:
|
||||
# ...
|
||||
#
|
||||
# CType: menu_categorized_content
|
||||
|
||||
tt_content.menu_categorized_content =< lib.contentElement
|
||||
tt_content.menu_categorized_content {
|
||||
templateName = MenuCategorizedContent
|
||||
dataProcessing {
|
||||
10 = TYPO3\CMS\Frontend\DataProcessing\DatabaseQueryProcessor
|
||||
10 {
|
||||
table = tt_content
|
||||
selectFields = tt_content.*
|
||||
groupBy = uid
|
||||
pidInList.data = leveluid : 0
|
||||
recursive = 99
|
||||
join.data = field:selected_categories
|
||||
join.wrap = sys_category_record_mm ON uid = sys_category_record_mm.uid_foreign AND sys_category_record_mm.uid_local IN(|)
|
||||
where.data = field:category_field
|
||||
where.wrap = tablenames='tt_content' and fieldname='|'
|
||||
orderBy = tt_content.sorting
|
||||
as = content
|
||||
dataProcessing {
|
||||
10 = TYPO3\CMS\Frontend\DataProcessing\FilesProcessor
|
||||
10 {
|
||||
references.fieldName = image
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
stdWrap {
|
||||
editIcons = tt_content: header [header_layout], selected_categories, category_field
|
||||
editIcons {
|
||||
iconTitle.data = LLL:EXT:fluid_styled_content/Resources/Private/Language/FrontendEditing.xlf:editIcon.menu
|
||||
}
|
||||
}
|
||||
}
|
||||
+33
@@ -0,0 +1,33 @@
|
||||
# Pages for selected categories:
|
||||
# ...
|
||||
#
|
||||
# CType: menu_categorized_pages
|
||||
|
||||
tt_content.menu_categorized_pages =< lib.contentElement
|
||||
tt_content.menu_categorized_pages {
|
||||
templateName = MenuCategorizedPages
|
||||
dataProcessing {
|
||||
10 = TYPO3\CMS\Frontend\DataProcessing\MenuProcessor
|
||||
10 {
|
||||
special = categories
|
||||
special {
|
||||
value.field = selected_categories
|
||||
relation.field = category_field
|
||||
sorting = title
|
||||
order = asc
|
||||
}
|
||||
dataProcessing {
|
||||
10 = TYPO3\CMS\Frontend\DataProcessing\FilesProcessor
|
||||
10 {
|
||||
references.fieldName = media
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
stdWrap {
|
||||
editIcons = tt_content: header [header_layout], selected_categories, category_field
|
||||
editIcons {
|
||||
iconTitle.data = LLL:EXT:fluid_styled_content/Resources/Private/Language/FrontendEditing.xlf:editIcon.menu
|
||||
}
|
||||
}
|
||||
}
|
||||
+28
@@ -0,0 +1,28 @@
|
||||
# Menu of selected pages:
|
||||
# ...
|
||||
#
|
||||
# CType: menu_pages
|
||||
|
||||
tt_content.menu_pages =< lib.contentElement
|
||||
tt_content.menu_pages {
|
||||
templateName = MenuPages
|
||||
dataProcessing {
|
||||
10 = TYPO3\CMS\Frontend\DataProcessing\MenuProcessor
|
||||
10 {
|
||||
special = list
|
||||
special.value.field = pages
|
||||
dataProcessing {
|
||||
10 = TYPO3\CMS\Frontend\DataProcessing\FilesProcessor
|
||||
10 {
|
||||
references.fieldName = media
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
stdWrap {
|
||||
editIcons = tt_content: header [header_layout], pages
|
||||
editIcons {
|
||||
iconTitle.data = LLL:EXT:fluid_styled_content/Resources/Private/Language/FrontendEditing.xlf:editIcon.menu
|
||||
}
|
||||
}
|
||||
}
|
||||
+32
@@ -0,0 +1,32 @@
|
||||
# Recently updated pages:
|
||||
# ...
|
||||
#
|
||||
# CType: menu_recently_updated
|
||||
|
||||
tt_content.menu_recently_updated =< lib.contentElement
|
||||
tt_content.menu_recently_updated {
|
||||
templateName = MenuRecentlyUpdated
|
||||
dataProcessing {
|
||||
10 = TYPO3\CMS\Frontend\DataProcessing\MenuProcessor
|
||||
10 {
|
||||
special = updated
|
||||
special {
|
||||
value.field = pages
|
||||
maxAge = 3600*24*7
|
||||
excludeNoSearchPages = 1
|
||||
}
|
||||
dataProcessing {
|
||||
10 = TYPO3\CMS\Frontend\DataProcessing\FilesProcessor
|
||||
10 {
|
||||
references.fieldName = media
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
stdWrap {
|
||||
editIcons = tt_content: header [header_layout], pages
|
||||
editIcons {
|
||||
iconTitle.data = LLL:EXT:fluid_styled_content/Resources/Private/Language/FrontendEditing.xlf:editIcon.menu
|
||||
}
|
||||
}
|
||||
}
|
||||
+32
@@ -0,0 +1,32 @@
|
||||
# Related pages (based on keywords):
|
||||
# ...
|
||||
#
|
||||
# CType: menu_related_pages
|
||||
|
||||
tt_content.menu_related_pages =< lib.contentElement
|
||||
tt_content.menu_related_pages {
|
||||
templateName = MenuRelatedPages
|
||||
dataProcessing {
|
||||
10 = TYPO3\CMS\Frontend\DataProcessing\MenuProcessor
|
||||
10 {
|
||||
special = keywords
|
||||
special {
|
||||
value.field = pages
|
||||
excludeNoSearchPages = 1
|
||||
}
|
||||
alternativeSortingField = title
|
||||
dataProcessing {
|
||||
10 = TYPO3\CMS\Frontend\DataProcessing\FilesProcessor
|
||||
10 {
|
||||
references.fieldName = media
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
stdWrap {
|
||||
editIcons = tt_content: header [header_layout], pages
|
||||
editIcons {
|
||||
iconTitle.data = LLL:EXT:fluid_styled_content/Resources/Private/Language/FrontendEditing.xlf:editIcon.menu
|
||||
}
|
||||
}
|
||||
}
|
||||
+55
@@ -0,0 +1,55 @@
|
||||
# Section index (page content marked for section menus):
|
||||
# ...
|
||||
#
|
||||
# CType: menu_section
|
||||
|
||||
tt_content.menu_section =< lib.contentElement
|
||||
tt_content.menu_section {
|
||||
templateName = MenuSection
|
||||
dataProcessing {
|
||||
10 = TYPO3\CMS\Frontend\DataProcessing\MenuProcessor
|
||||
10 {
|
||||
// Always activate includeNotInMenu for a section menu of the current page
|
||||
includeNotInMenu.override = 1
|
||||
includeNotInMenu.override.if.isFalse.field = pages
|
||||
special = list
|
||||
special {
|
||||
value {
|
||||
field = pages
|
||||
override {
|
||||
data = page:uid
|
||||
if {
|
||||
isFalse.field = pages
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
dataProcessing {
|
||||
10 = TYPO3\CMS\Frontend\DataProcessing\FilesProcessor
|
||||
10 {
|
||||
references.fieldName = media
|
||||
}
|
||||
20 = TYPO3\CMS\Frontend\DataProcessing\DatabaseQueryProcessor
|
||||
20 {
|
||||
table = tt_content
|
||||
pidInList.field = uid
|
||||
as = content
|
||||
where = sectionIndex = 1
|
||||
orderBy = sorting
|
||||
dataProcessing {
|
||||
10 = TYPO3\CMS\Frontend\DataProcessing\FilesProcessor
|
||||
10 {
|
||||
references.fieldName = image
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
stdWrap {
|
||||
editIcons = tt_content: header [header_layout], pages
|
||||
editIcons {
|
||||
iconTitle.data = LLL:EXT:fluid_styled_content/Resources/Private/Language/FrontendEditing.xlf:editIcon.menu
|
||||
}
|
||||
}
|
||||
}
|
||||
+41
@@ -0,0 +1,41 @@
|
||||
# Menu of subpages of selected pages including sections:
|
||||
# ...
|
||||
#
|
||||
# CType: menu_section_pages
|
||||
|
||||
tt_content.menu_section_pages =< lib.contentElement
|
||||
tt_content.menu_section_pages {
|
||||
templateName = MenuSectionPages
|
||||
dataProcessing {
|
||||
10 = TYPO3\CMS\Frontend\DataProcessing\MenuProcessor
|
||||
10 {
|
||||
special = directory
|
||||
special.value.field = pages
|
||||
dataProcessing {
|
||||
10 = TYPO3\CMS\Frontend\DataProcessing\FilesProcessor
|
||||
10 {
|
||||
references.fieldName = media
|
||||
}
|
||||
20 = TYPO3\CMS\Frontend\DataProcessing\DatabaseQueryProcessor
|
||||
20 {
|
||||
table = tt_content
|
||||
pidInList.field = uid
|
||||
orderBy = sorting
|
||||
as = content
|
||||
dataProcessing {
|
||||
10 = TYPO3\CMS\Frontend\DataProcessing\FilesProcessor
|
||||
10 {
|
||||
references.fieldName = image
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
stdWrap {
|
||||
editIcons = tt_content: header [header_layout], pages
|
||||
editIcons {
|
||||
iconTitle.data = LLL:EXT:fluid_styled_content/Resources/Private/Language/FrontendEditing.xlf:editIcon.menu
|
||||
}
|
||||
}
|
||||
}
|
||||
+27
@@ -0,0 +1,27 @@
|
||||
# Sitemap:
|
||||
# ...
|
||||
#
|
||||
# CType: menu_sitemap
|
||||
|
||||
tt_content.menu_sitemap =< lib.contentElement
|
||||
tt_content.menu_sitemap {
|
||||
templateName = MenuSitemap
|
||||
dataProcessing {
|
||||
10 = TYPO3\CMS\Frontend\DataProcessing\MenuProcessor
|
||||
10 {
|
||||
levels = 7
|
||||
dataProcessing {
|
||||
10 = TYPO3\CMS\Frontend\DataProcessing\FilesProcessor
|
||||
10 {
|
||||
references.fieldName = media
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
stdWrap {
|
||||
editIcons = tt_content: header [header_layout], pages
|
||||
editIcons {
|
||||
iconTitle.data = LLL:EXT:fluid_styled_content/Resources/Private/Language/FrontendEditing.xlf:editIcon.menu
|
||||
}
|
||||
}
|
||||
}
|
||||
+29
@@ -0,0 +1,29 @@
|
||||
# Sitemaps of selected pages:
|
||||
# ...
|
||||
#
|
||||
# CType: menu_sitemap_pages
|
||||
|
||||
tt_content.menu_sitemap_pages =< lib.contentElement
|
||||
tt_content.menu_sitemap_pages {
|
||||
templateName = MenuSitemapPages
|
||||
dataProcessing {
|
||||
10 = TYPO3\CMS\Frontend\DataProcessing\MenuProcessor
|
||||
10 {
|
||||
special = directory
|
||||
special.value.field = pages
|
||||
levels = 7
|
||||
dataProcessing {
|
||||
10 = TYPO3\CMS\Frontend\DataProcessing\FilesProcessor
|
||||
10 {
|
||||
references.fieldName = media
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
stdWrap {
|
||||
editIcons = tt_content: header [header_layout], pages
|
||||
editIcons {
|
||||
iconTitle.data = LLL:EXT:fluid_styled_content/Resources/Private/Language/FrontendEditing.xlf:editIcon.menu
|
||||
}
|
||||
}
|
||||
}
|
||||
+28
@@ -0,0 +1,28 @@
|
||||
# Menu of subpages of selected pages:
|
||||
# ...
|
||||
#
|
||||
# CType: menu_subpages
|
||||
|
||||
tt_content.menu_subpages =< lib.contentElement
|
||||
tt_content.menu_subpages {
|
||||
templateName = MenuSubpages
|
||||
dataProcessing {
|
||||
10 = TYPO3\CMS\Frontend\DataProcessing\MenuProcessor
|
||||
10 {
|
||||
special = directory
|
||||
special.value.field = pages
|
||||
dataProcessing {
|
||||
10 = TYPO3\CMS\Frontend\DataProcessing\FilesProcessor
|
||||
10 {
|
||||
references.fieldName = media
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
stdWrap {
|
||||
editIcons = tt_content: header [header_layout], pages
|
||||
editIcons {
|
||||
iconTitle.data = LLL:EXT:fluid_styled_content/Resources/Private/Language/FrontendEditing.xlf:editIcon.menu
|
||||
}
|
||||
}
|
||||
}
|
||||
+23
@@ -0,0 +1,23 @@
|
||||
# Insert records:
|
||||
# This element embeds other content elements.
|
||||
#
|
||||
# CType: shortcut
|
||||
|
||||
tt_content.shortcut =< lib.contentElement
|
||||
tt_content.shortcut {
|
||||
templateName = Shortcut
|
||||
|
||||
# Keep this, since the "conf" option can be used
|
||||
variables.shortcuts = RECORDS
|
||||
variables.shortcuts {
|
||||
source.field = records
|
||||
tables = {$styles.content.shortcut.tables}
|
||||
}
|
||||
|
||||
stdWrap {
|
||||
editIcons = tt_content: header [header_layout], records
|
||||
editIcons {
|
||||
iconTitle.data = LLL:EXT:fluid_styled_content/Resources/Private/Language/FrontendEditing.xlf:editIcon.shortcut
|
||||
}
|
||||
}
|
||||
}
|
||||
+39
@@ -0,0 +1,39 @@
|
||||
# Table:
|
||||
# A simple table.
|
||||
#
|
||||
# CType: table
|
||||
|
||||
tt_content.table =< lib.contentElement
|
||||
tt_content.table {
|
||||
templateName = Table
|
||||
dataProcessing {
|
||||
10 = TYPO3\CMS\Frontend\DataProcessing\CommaSeparatedValueProcessor
|
||||
10 {
|
||||
fieldName = bodytext
|
||||
fieldDelimiter.char.cObject = TEXT
|
||||
fieldDelimiter.char.cObject {
|
||||
field = table_delimiter
|
||||
}
|
||||
fieldEnclosure.char.cObject = TEXT
|
||||
fieldEnclosure.char.cObject {
|
||||
field = table_enclosure
|
||||
}
|
||||
fieldEnclosure {
|
||||
if {
|
||||
value = 0
|
||||
equals.field = table_enclosure
|
||||
negate = 1
|
||||
}
|
||||
}
|
||||
maximumColumns.field = cols
|
||||
as = table
|
||||
}
|
||||
}
|
||||
stdWrap {
|
||||
editIcons = tt_content: header [header_layout], bodytext, [table_caption|cols|table_header_position|table_tfoot]
|
||||
editIcons {
|
||||
beforeLastTag = 1
|
||||
iconTitle.data = LLL:EXT:fluid_styled_content/Resources/Private/Language/FrontendEditing.xlf:editIcon.table
|
||||
}
|
||||
}
|
||||
}
|
||||
+16
@@ -0,0 +1,16 @@
|
||||
# Regular Text Element:
|
||||
# A regular text element with header and bodytext fields.
|
||||
#
|
||||
# CType: text
|
||||
|
||||
tt_content.text =< lib.contentElement
|
||||
tt_content.text {
|
||||
templateName = Text
|
||||
stdWrap {
|
||||
editIcons = tt_content: bodytext
|
||||
editIcons {
|
||||
beforeLastTag = 1
|
||||
iconTitle.data = LLL:EXT:fluid_styled_content/Resources/Private/Language/FrontendEditing.xlf:editIcon.html
|
||||
}
|
||||
}
|
||||
}
|
||||
+29
@@ -0,0 +1,29 @@
|
||||
# Text & Media:
|
||||
# Any number of media wrapped right around a regular text element.
|
||||
#
|
||||
# CType: textmedia
|
||||
|
||||
tt_content.textmedia =< lib.contentElement
|
||||
tt_content.textmedia {
|
||||
templateName = Textmedia
|
||||
dataProcessing {
|
||||
10 = TYPO3\CMS\Frontend\DataProcessing\FilesProcessor
|
||||
10 {
|
||||
references.fieldName = assets
|
||||
}
|
||||
20 = TYPO3\CMS\Frontend\DataProcessing\GalleryProcessor
|
||||
20 {
|
||||
maxGalleryWidth = {$styles.content.textmedia.maxW}
|
||||
maxGalleryWidthInText = {$styles.content.textmedia.maxWInText}
|
||||
columnSpacing = {$styles.content.textmedia.columnSpacing}
|
||||
borderWidth = {$styles.content.textmedia.borderWidth}
|
||||
borderPadding = {$styles.content.textmedia.borderPadding}
|
||||
}
|
||||
}
|
||||
stdWrap {
|
||||
editIcons = tt_content: header [header_layout], bodytext, assets [imageorient|imagewidth|imageheight], [imagecols|imageborder], image_zoom
|
||||
editIcons {
|
||||
iconTitle.data = LLL:EXT:fluid_styled_content/Resources/Private/Language/FrontendEditing.xlf:editIcon.textmedia
|
||||
}
|
||||
}
|
||||
}
|
||||
+29
@@ -0,0 +1,29 @@
|
||||
# Text and Images:
|
||||
# Text with images.
|
||||
#
|
||||
# CType: textpic
|
||||
|
||||
tt_content.textpic =< lib.contentElement
|
||||
tt_content.textpic {
|
||||
templateName = Textpic
|
||||
dataProcessing {
|
||||
10 = TYPO3\CMS\Frontend\DataProcessing\FilesProcessor
|
||||
10 {
|
||||
references.fieldName = image
|
||||
}
|
||||
20 = TYPO3\CMS\Frontend\DataProcessing\GalleryProcessor
|
||||
20 {
|
||||
maxGalleryWidth = {$styles.content.textmedia.maxW}
|
||||
maxGalleryWidthInText = {$styles.content.textmedia.maxWInText}
|
||||
columnSpacing = {$styles.content.textmedia.columnSpacing}
|
||||
borderWidth = {$styles.content.textmedia.borderWidth}
|
||||
borderPadding = {$styles.content.textmedia.borderPadding}
|
||||
}
|
||||
}
|
||||
stdWrap {
|
||||
editIcons = tt_content: header [header_layout], bodytext, image [imageorient|imagewidth|imageheight], [imagecols|imageborder], image_zoom
|
||||
editIcons {
|
||||
iconTitle.data = LLL:EXT:fluid_styled_content/Resources/Private/Language/FrontendEditing.xlf:editIcon.textpic
|
||||
}
|
||||
}
|
||||
}
|
||||
+24
@@ -0,0 +1,24 @@
|
||||
# File Links:
|
||||
# Makes a list of files for download.
|
||||
#
|
||||
# CType: uploads
|
||||
|
||||
tt_content.uploads =< lib.contentElement
|
||||
tt_content.uploads {
|
||||
templateName = Uploads
|
||||
dataProcessing {
|
||||
10 = TYPO3\CMS\Frontend\DataProcessing\FilesProcessor
|
||||
10 {
|
||||
references.fieldName = media
|
||||
collections.field = file_collections
|
||||
sorting.field = filelink_sorting
|
||||
sorting.direction.field = filelink_sorting_direction
|
||||
}
|
||||
}
|
||||
stdWrap {
|
||||
editIcons = tt_content: header [header_layout], media, file_collections, filelink_sorting, [filelink_size|uploads_description|uploads_type]
|
||||
editIcons {
|
||||
iconTitle.data = LLL:EXT:fluid_styled_content/Resources/Private/Language/FrontendEditing.xlf:editIcon.uploads
|
||||
}
|
||||
}
|
||||
}
|
||||
+40
@@ -0,0 +1,40 @@
|
||||
# Default configuration for content elements which are using FLUIDTEMPLATE directly
|
||||
lib.contentElement >
|
||||
lib.contentElement = FLUIDTEMPLATE
|
||||
lib.contentElement {
|
||||
templateName = Default
|
||||
templateRootPaths {
|
||||
0 = EXT:fluid_styled_content/Resources/Private/Templates/
|
||||
10 = {$styles.templates.templateRootPath}
|
||||
}
|
||||
partialRootPaths {
|
||||
0 = EXT:fluid_styled_content/Resources/Private/Partials/
|
||||
10 = {$styles.templates.partialRootPath}
|
||||
}
|
||||
layoutRootPaths {
|
||||
0 = EXT:fluid_styled_content/Resources/Private/Layouts/
|
||||
10 = {$styles.templates.layoutRootPath}
|
||||
}
|
||||
settings {
|
||||
defaultHeaderType = {$styles.content.defaultHeaderType}
|
||||
media {
|
||||
popup {
|
||||
bodyTag = <body style="margin:0; background:#fff;">
|
||||
wrap = <a href="javascript:close();"> | </a>
|
||||
width = {$styles.content.textmedia.linkWrap.width}
|
||||
height = {$styles.content.textmedia.linkWrap.height}
|
||||
crop.data = file:current:crop
|
||||
JSwindow = 1
|
||||
JSwindow {
|
||||
newWindow = {$styles.content.textmedia.linkWrap.newWindow}
|
||||
if.isFalse = {$styles.content.textmedia.linkWrap.lightboxEnabled}
|
||||
}
|
||||
directImageLink = {$styles.content.textmedia.linkWrap.lightboxEnabled}
|
||||
linkParams.ATagParams.dataWrap = class="{$styles.content.textmedia.linkWrap.lightboxCssClass}" rel="{$styles.content.textmedia.linkWrap.lightboxRelAttribute}"
|
||||
}
|
||||
additionalConfig {
|
||||
no-cookie = 1
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
+124
@@ -0,0 +1,124 @@
|
||||
# Creates persistent ParseFunc setup for non-HTML content.
|
||||
lib.parseFunc {
|
||||
makelinks = 1
|
||||
makelinks {
|
||||
http {
|
||||
keep = {$styles.content.links.keep}
|
||||
extTarget = {$styles.content.links.extTarget}
|
||||
}
|
||||
mailto {
|
||||
keep = path
|
||||
}
|
||||
}
|
||||
tags {
|
||||
link = TEXT
|
||||
link {
|
||||
current = 1
|
||||
typolink {
|
||||
parameter.data = parameters : allParams
|
||||
extTarget = {$styles.content.links.extTarget}
|
||||
}
|
||||
parseFunc.constants = 1
|
||||
}
|
||||
a = TEXT
|
||||
a {
|
||||
current = 1
|
||||
typolink {
|
||||
parameter.data = parameters:href
|
||||
title.data = parameters:title
|
||||
ATagParams.data = parameters:allParams
|
||||
# the target attribute takes precedence over config.intTarget
|
||||
target.ifEmpty.data = parameters:target
|
||||
# the target attribute takes precedence over the constant (styles.content.links.extTarget)
|
||||
# which takes precedence over config.extTarget
|
||||
# do not pass extTarget as reference, as it might not be set resulting in the string being
|
||||
# written to the target attribute
|
||||
extTarget.ifEmpty < config.extTarget
|
||||
extTarget.ifEmpty.override = {$styles.content.links.extTarget}
|
||||
extTarget.override.data = parameters:target
|
||||
}
|
||||
}
|
||||
}
|
||||
allowTags = {$styles.content.allowTags}
|
||||
denyTags = *
|
||||
sword = <span class="ce-sword">|</span>
|
||||
constants = 1
|
||||
nonTypoTagStdWrap {
|
||||
HTMLparser = 1
|
||||
HTMLparser {
|
||||
keepNonMatchedTags = 1
|
||||
htmlSpecialChars = 2
|
||||
}
|
||||
}
|
||||
htmlSanitize = 1
|
||||
}
|
||||
|
||||
|
||||
# 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
|
||||
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 {
|
||||
tags.table.fixAttrib.class {
|
||||
default = contenttable
|
||||
always = 1
|
||||
list = contenttable
|
||||
}
|
||||
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 =
|
||||
}
|
||||
addChr10BetweenParagraphs = 1
|
||||
}
|
||||
}
|
||||
div {
|
||||
stripNL = 1
|
||||
callRecursive = 1
|
||||
}
|
||||
article < .div
|
||||
aside < .div
|
||||
blockquote < .div
|
||||
footer < .div
|
||||
header < .div
|
||||
nav < .div
|
||||
section < .div
|
||||
dl < .div
|
||||
dd < .div
|
||||
}
|
||||
nonTypoTagStdWrap {
|
||||
HTMLparser = 1
|
||||
HTMLparser {
|
||||
keepNonMatchedTags = 1
|
||||
htmlSpecialChars = 2
|
||||
}
|
||||
encapsLines {
|
||||
encapsTagList = p,pre,h1,h2,h3,h4,h5,h6,hr,dt
|
||||
remapTag.DIV = P
|
||||
nonWrappedTag = P
|
||||
innerStdWrap_all.ifBlank =
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,79 @@
|
||||
plugin.tx_frontend._CSS_DEFAULT_STYLE (
|
||||
.ce-align-left { text-align: left; }
|
||||
.ce-align-center { text-align: center; }
|
||||
.ce-align-right { text-align: right; }
|
||||
|
||||
.ce-table td, .ce-table th { vertical-align: top; }
|
||||
|
||||
.ce-textpic, .ce-image, .ce-nowrap .ce-bodytext, .ce-gallery, .ce-row, .ce-uploads li, .ce-uploads div { overflow: hidden; }
|
||||
|
||||
.ce-left .ce-gallery, .ce-column { float: left; }
|
||||
.ce-center .ce-outer { position: relative; float: right; right: 50%; }
|
||||
.ce-center .ce-inner { position: relative; float: right; right: -50%; }
|
||||
.ce-right .ce-gallery { float: right; }
|
||||
|
||||
.ce-gallery figure { display: table; margin: 0; }
|
||||
.ce-gallery figcaption { display: table-caption; caption-side: bottom; }
|
||||
.ce-gallery img { display: block; }
|
||||
.ce-gallery iframe { border-width: 0; }
|
||||
.ce-border img,
|
||||
.ce-border iframe {
|
||||
border: {$styles.content.textmedia.borderWidth}px solid {$styles.content.textmedia.borderColor};
|
||||
padding: {$styles.content.textmedia.borderPadding}px;
|
||||
}
|
||||
|
||||
.ce-intext.ce-right .ce-gallery, .ce-intext.ce-left .ce-gallery, .ce-above .ce-gallery {
|
||||
margin-bottom: {$styles.content.textmedia.textMargin}px;
|
||||
}
|
||||
.ce-intext.ce-right .ce-gallery { margin-left: {$styles.content.textmedia.textMargin}px; }
|
||||
.ce-intext.ce-left .ce-gallery { margin-right: {$styles.content.textmedia.textMargin}px; }
|
||||
.ce-below .ce-gallery { margin-top: {$styles.content.textmedia.textMargin}px; }
|
||||
|
||||
.ce-column { margin-right: {$styles.content.textmedia.columnSpacing}px; }
|
||||
.ce-column:last-child { margin-right: 0; }
|
||||
|
||||
.ce-row { margin-bottom: {$styles.content.textmedia.rowSpacing}px; }
|
||||
.ce-row:last-child { margin-bottom: 0; }
|
||||
|
||||
.ce-above .ce-bodytext { clear: both; }
|
||||
|
||||
.ce-intext.ce-left ol, .ce-intext.ce-left ul { padding-left: 40px; overflow: auto; }
|
||||
|
||||
/* Headline */
|
||||
.ce-headline-left { text-align: left; }
|
||||
.ce-headline-center { text-align: center; }
|
||||
.ce-headline-right { text-align: right; }
|
||||
|
||||
/* Uploads */
|
||||
.ce-uploads { margin: 0; padding: 0; }
|
||||
.ce-uploads li { list-style: none outside none; margin: 1em 0; }
|
||||
.ce-uploads img { float: left; padding-right: 1em; vertical-align: top; }
|
||||
.ce-uploads span { display: block; }
|
||||
|
||||
/* Table */
|
||||
.ce-table { width: 100%; max-width: 100%; }
|
||||
.ce-table th, .ce-table td { padding: 0.5em 0.75em; vertical-align: top; }
|
||||
.ce-table thead th { border-bottom: 2px solid #dadada; }
|
||||
.ce-table th, .ce-table td { border-top: 1px solid #dadada; }
|
||||
.ce-table-striped tbody tr:nth-of-type(odd) { background-color: rgba(0,0,0,.05); }
|
||||
.ce-table-bordered th, .ce-table-bordered td { border: 1px solid #dadada; }
|
||||
|
||||
/* Space */
|
||||
.frame-space-before-extra-small { margin-top: 1em; }
|
||||
.frame-space-before-small { margin-top: 2em; }
|
||||
.frame-space-before-medium { margin-top: 3em; }
|
||||
.frame-space-before-large { margin-top: 4em; }
|
||||
.frame-space-before-extra-large { margin-top: 5em; }
|
||||
.frame-space-after-extra-small { margin-bottom: 1em; }
|
||||
.frame-space-after-small { margin-bottom: 2em; }
|
||||
.frame-space-after-medium { margin-bottom: 3em; }
|
||||
.frame-space-after-large { margin-bottom: 4em; }
|
||||
.frame-space-after-extra-large { margin-bottom: 5em; }
|
||||
|
||||
/* Frame */
|
||||
.frame-ruler-before:before { content: ''; display: block; border-top: 1px solid rgba(0,0,0,0.25); margin-bottom: 2em; }
|
||||
.frame-ruler-after:after { content: ''; display: block; border-bottom: 1px solid rgba(0,0,0,0.25); margin-top: 2em; }
|
||||
.frame-indent { margin-left: 15%; margin-right: 15%; }
|
||||
.frame-indent-left { margin-left: 33%; }
|
||||
.frame-indent-right { margin-right: 33%; }
|
||||
)
|
||||
@@ -0,0 +1,60 @@
|
||||
styles.templates {
|
||||
# cat=content/templates/b1; type=string; label= Path of Fluid Templates for all defined content elements
|
||||
templateRootPath =
|
||||
# cat=content/templates/b2; type=string; label= Path of Fluid Partials for all defined content elements
|
||||
partialRootPath =
|
||||
# cat=content/templates/b3; type=string; label= Path of Fluid Layouts for all defined content elements
|
||||
layoutRootPath =
|
||||
}
|
||||
|
||||
styles.content {
|
||||
# cat=content/cHeader/h0; type=int[1-5]; label=Default Header type: Enter the number of the header layout to be used by default
|
||||
defaultHeaderType = 2
|
||||
|
||||
# cat=content/cShortcut/t0; type=string; label=List of accepted tables
|
||||
shortcut.tables = tt_content
|
||||
|
||||
# cat=content/parseFunc/a0; type=string; label=List of allowed HTML tags when rendering RTE content
|
||||
allowTags = a, abbr, acronym, address, article, aside, b, bdo, big, blockquote, br, caption, center, cite, code, col, colgroup, dd, del, dfn, dl, div, dt, em, font, footer, header, h1, h2, h3, h4, h5, h6, hr, i, img, ins, kbd, label, li, link, meta, nav, ol, p, pre, q, s, samp, sdfield, section, small, span, strike, strong, style, sub, sup, table, thead, tbody, tfoot, td, th, tr, title, tt, u, ul, var
|
||||
|
||||
textmedia {
|
||||
# cat=content/cTextmedia/b1; type=int+; label= Max Image/Media Width: This indicates that maximum number of pixels (width) a block of media elements inserted as content is allowed to consume
|
||||
maxW = 600
|
||||
# cat=content/cTextmedia/b2; type=int+; label= Max Image/Media Width (Text): Same as above, but this is the maximum width when text is wrapped around an block of media elements. Default is 50% of the normal Max Media Item Width
|
||||
maxWInText = 300
|
||||
|
||||
# cat=content/cTextmedia/g1; type=int[0-100]; label= Advanced, Column space: Horizontal distance between media elements in a block in content elements of type "Media & Images". If you change this manually in your CSS, you need to adjust this setting accordingly
|
||||
columnSpacing = 10
|
||||
# cat=content/cTextmedia/g2; type=int[0-100]; label= Advanced, Row space: Vertical distance after each media elements row in content elements of type ""Text & Media". If you change this manually in your CSS, you need to adjust this setting accordingly
|
||||
rowSpacing = 10
|
||||
# cat=content/cTextmedia/g3; type=int[0-100]; label= Advanced, Margin to text: Horizontal distance between an imageblock and text in content elements of type "Text & Images"
|
||||
textMargin = 10
|
||||
|
||||
# cat=content/cTextmedia/i1; type=color; label= Media element border, color: Bordercolor of media elements in content elements when "Border"-option for an element is set
|
||||
borderColor = #000000
|
||||
# cat=content/cTextmedia/i2; type=int[0-100]; label= Media element border, thickness: Thickness of border around media elements in content elements when "Border"-option for element is set
|
||||
borderWidth = 2
|
||||
# cat=content/cTextmedia/i3; type=int+; label= Media element border, padding: Padding left and right to the media element, around the border
|
||||
borderPadding = 0
|
||||
|
||||
# cat=content/cTextmedia/c1; type=string; label= Click-enlarge Media Width: This specifies the width of the enlarged media element when click-enlarge is enabled
|
||||
linkWrap.width = 800m
|
||||
# cat=content/cTextmedia/c2; type=string; label= Click-enlarge Media Height: This specifies the height of the enlarged media element when click-enlarge is enabled
|
||||
linkWrap.height = 600m
|
||||
# cat=content/cTextmedia/c3; type=boolean; label= Advanced, New window: If set, every click-enlarged media element will open in it's own popup window and not the current popup window (which may have a wrong size for the media element to fit in)
|
||||
linkWrap.newWindow = 0
|
||||
# cat=content/cTextmedia/c4; type=boolean; label= Lightbox click-enlarge rendering: Whether media elements with click-enlarge checked should be rendered lightbox-compliant
|
||||
linkWrap.lightboxEnabled = 0
|
||||
# cat=content/cTextmedia/c5; type=string; label= Lightbox CSS class: Which CSS class to use for lightbox links (only applicable if lightbox rendering is enabled)
|
||||
linkWrap.lightboxCssClass = lightbox
|
||||
# cat=content/cTextmedia/c6; type=string; label= Lightbox rel="" attribute: Which rel="" attribute to use for lightbox links (only applicable if lightbox rendering is enabled)
|
||||
linkWrap.lightboxRelAttribute = lightbox[{field:uid}]
|
||||
}
|
||||
|
||||
links {
|
||||
# cat=content/links/l2; type=small; label= Target for external links
|
||||
extTarget = _blank
|
||||
# cat=content/links/l3; type=string; label= Parts to keep when building links: Comma separated list of the link parts to show when building the link-text: scheme,path,query. Example: "" (empty) => www.example.com, "scheme,path" => http://www.example.com
|
||||
keep = path
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,48 @@
|
||||
# Include setup
|
||||
<INCLUDE_TYPOSCRIPT: source="FILE:EXT:fluid_styled_content/Configuration/TypoScript/Helper/ContentElement.typoscript">
|
||||
<INCLUDE_TYPOSCRIPT: source="FILE:EXT:fluid_styled_content/Configuration/TypoScript/Helper/ParseFunc.typoscript">
|
||||
|
||||
|
||||
# Content element rendering
|
||||
tt_content {
|
||||
stdWrap {
|
||||
# Setup the edit panel for all content elements
|
||||
editPanel = 1
|
||||
editPanel {
|
||||
allow = move, new, edit, hide, delete
|
||||
label = %s
|
||||
onlyCurrentPid = 1
|
||||
previewBorder = 1
|
||||
edit.displayRecord = 1
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
# Typical content elements
|
||||
<INCLUDE_TYPOSCRIPT: source="FILE:EXT:fluid_styled_content/Configuration/TypoScript/ContentElement/Bullets.typoscript">
|
||||
<INCLUDE_TYPOSCRIPT: source="FILE:EXT:fluid_styled_content/Configuration/TypoScript/ContentElement/Div.typoscript">
|
||||
<INCLUDE_TYPOSCRIPT: source="FILE:EXT:fluid_styled_content/Configuration/TypoScript/ContentElement/Header.typoscript">
|
||||
<INCLUDE_TYPOSCRIPT: source="FILE:EXT:fluid_styled_content/Configuration/TypoScript/ContentElement/Html.typoscript">
|
||||
<INCLUDE_TYPOSCRIPT: source="FILE:EXT:fluid_styled_content/Configuration/TypoScript/ContentElement/Image.typoscript">
|
||||
<INCLUDE_TYPOSCRIPT: source="FILE:EXT:fluid_styled_content/Configuration/TypoScript/ContentElement/List.typoscript">
|
||||
<INCLUDE_TYPOSCRIPT: source="FILE:EXT:fluid_styled_content/Configuration/TypoScript/ContentElement/Shortcut.typoscript">
|
||||
<INCLUDE_TYPOSCRIPT: source="FILE:EXT:fluid_styled_content/Configuration/TypoScript/ContentElement/Table.typoscript">
|
||||
<INCLUDE_TYPOSCRIPT: source="FILE:EXT:fluid_styled_content/Configuration/TypoScript/ContentElement/Text.typoscript">
|
||||
<INCLUDE_TYPOSCRIPT: source="FILE:EXT:fluid_styled_content/Configuration/TypoScript/ContentElement/Textmedia.typoscript">
|
||||
<INCLUDE_TYPOSCRIPT: source="FILE:EXT:fluid_styled_content/Configuration/TypoScript/ContentElement/Textpic.typoscript">
|
||||
<INCLUDE_TYPOSCRIPT: source="FILE:EXT:fluid_styled_content/Configuration/TypoScript/ContentElement/Uploads.typoscript">
|
||||
|
||||
|
||||
# Menu content elements
|
||||
<INCLUDE_TYPOSCRIPT: source="FILE:EXT:fluid_styled_content/Configuration/TypoScript/ContentElement/MenuAbstract.typoscript">
|
||||
<INCLUDE_TYPOSCRIPT: source="FILE:EXT:fluid_styled_content/Configuration/TypoScript/ContentElement/MenuCategorizedContent.typoscript">
|
||||
<INCLUDE_TYPOSCRIPT: source="FILE:EXT:fluid_styled_content/Configuration/TypoScript/ContentElement/MenuCategorizedPages.typoscript">
|
||||
<INCLUDE_TYPOSCRIPT: source="FILE:EXT:fluid_styled_content/Configuration/TypoScript/ContentElement/MenuPages.typoscript">
|
||||
<INCLUDE_TYPOSCRIPT: source="FILE:EXT:fluid_styled_content/Configuration/TypoScript/ContentElement/MenuSubpages.typoscript">
|
||||
<INCLUDE_TYPOSCRIPT: source="FILE:EXT:fluid_styled_content/Configuration/TypoScript/ContentElement/MenuSection.typoscript">
|
||||
<INCLUDE_TYPOSCRIPT: source="FILE:EXT:fluid_styled_content/Configuration/TypoScript/ContentElement/MenuSectionPages.typoscript">
|
||||
<INCLUDE_TYPOSCRIPT: source="FILE:EXT:fluid_styled_content/Configuration/TypoScript/ContentElement/MenuRecentlyUpdated.typoscript">
|
||||
<INCLUDE_TYPOSCRIPT: source="FILE:EXT:fluid_styled_content/Configuration/TypoScript/ContentElement/MenuRelatedPages.typoscript">
|
||||
<INCLUDE_TYPOSCRIPT: source="FILE:EXT:fluid_styled_content/Configuration/TypoScript/ContentElement/MenuSitemap.typoscript">
|
||||
<INCLUDE_TYPOSCRIPT: source="FILE:EXT:fluid_styled_content/Configuration/TypoScript/ContentElement/MenuSitemapPages.typoscript">
|
||||
Reference in new issue
Block a user