title.data = page:nav_title // page:title
subtitle = TEXT
subtitle.wrap =
|
subtitle.data = page:subtitle
BREADCRUMB = HMENU
BREADCRUMB {
special = rootline
special.range = 1|-1
# "not in menu pages" should show up in the breadcrumbs menu
includeNotInMenu = 1
1 = TMENU
1.CUR = 1
1.wrap =
|
1.NO {
stdWrap.field = nav_title // title
ATagParams = target="_self"
ATagTitle.field = nav_title // title
linkWrap =
|
}
# Current menu item is unlinked
1.CUR {
stdWrap.field = nav_title // title
linkWrap =
|
doNotLinkIt = 1
}
}
}
}
page.10 = FLUIDTEMPLATE
page.10 {
file.stdWrap.cObject = CASE
file.stdWrap.cObject {
key.data = pagelayout
2 = TEXT
2.value = {$cd85base.resDir}/Private/ext/bi_template/news.tmpl
3 = TEXT
3.value = {$cd85base.resDir}/Private/ext/bi_template/2col.tmpl
5 = TEXT
5.value = {$cd85base.resDir}/Private/ext/bi_template/contact.tmpl
6 = TEXT
6.value = {$cd85base.resDir}/Private/ext/bi_template/news-detail.tmpl
7 = TEXT
7.value = {$cd85base.resDir}/Private/ext/bi_template/homepage.tmpl
8 = TEXT
8.value = {$cd85base.resDir}/Private/ext/bi_template/1col.tmpl
9 = TEXT
9.value = {$cd85base.resDir}/Private/ext/bi_template/3col.tmpl
10 = TEXT
10.value = {$cd85base.resDir}/Private/ext/bi_template/acteur-detail.tmpl
11 = TEXT
11.value = {$cd85base.resDir}/Private/ext/bi_template/2col-advance.tmpl
12 = TEXT
12.value = {$cd85base.resDir}/Private/ext/bi_template/1col-advance.tmpl
13 = TEXT
13.value = {$cd85base.resDir}/Private/ext/bi_template/3col-advance.tmpl
14 = TEXT
14.value = {$cd85base.resDir}/Private/ext/bi_template/search-result.tmpl
}
}
### Gestion de la boite de recherche sur les pages ###
page.10.variables.activeSearchId = TEXT
page.10.variables.activeSearchId {
value = 1
}
[getTSFE()?.id == {$ids_inactive_page_search}]
page.10.variables.activeSearchId = TEXT
page.10.variables.activeSearchId {
value = 0
}
[global]
# footer
page.15 = FLUIDTEMPLATE
page.15 {
file = {$cd85base.resDir}/Private/ext/bi_template/footer.tmpl
variables {
bottom-content < styles.content.get
bottom-content.select.where = colPos = 5
bottom-content.slide = -1
footerLogo = TEXT
footerLogo {
// Use the IMAGE object instead of TEXT for better handling of images
cObject = IMAGE
cObject {
file = {$cd85base.resDir}/Public/img/assets/logo_vendee.png
altText = Logo du Conseil Départemental de la Vendée
params = class="img-fluid"
}
}
footer-content < styles.content.get
footer-content.select.where = colPos = 17
footer-content.slide = -1
menu-footer = TEXT
menu-footer {
value =
}
}
}
# ************************************************************************************
# Balise Section Body
page.20 = TEXT
page.20 {
value =
}
# ***************************** GESTION DE PLUGINS ************************************
tt_content.stdWrap.innerWrap.cObject = CASE
tt_content.stdWrap.innerWrap.cObject {
key.field = layout
1 = TEXT
1.value =
|
2 = TEXT
2.value =
|
}
tt_content.gridelements_pi1.20.10.setup {
1 < lib.gridelements.defaultGridSetup
1.prepend =< lib.stdheader
1.cObject = FLUIDTEMPLATE
1.cObject.file = {$cd85base.resDir}/Private/ext/gridelements/grid3366.html
2 < lib.gridelements.defaultGridSetup
2.prepend =< lib.stdheader
2.cObject = FLUIDTEMPLATE
2.cObject.file = {$cd85base.resDir}/Private/ext/gridelements/grid6633.html
3 < lib.gridelements.defaultGridSetup
3.prepend =< lib.stdheader
3.cObject = FLUIDTEMPLATE
3.cObject.file = {$cd85base.resDir}/Private/ext/gridelements/grid25252525.html
4 < lib.gridelements.defaultGridSetup
4.prepend =< lib.stdheader
4.cObject = FLUIDTEMPLATE
4.cObject.file = {$cd85base.resDir}/Private/ext/gridelements/grid333333.html
5 < lib.gridelements.defaultGridSetup
5.prepend =< lib.stdheader
5.cObject = FLUIDTEMPLATE
5.cObject.file = {$cd85base.resDir}/Private/ext/gridelements/grid5050.html
6 < lib.gridelements.defaultGridSetup
6.prepend =< lib.stdheader
6.cObject = FLUIDTEMPLATE
6.cObject.file = {$cd85base.resDir}/Private/ext/gridelements/grid7525.html
7 < lib.gridelements.defaultGridSetup
7.prepend =< lib.stdheader
7.cObject = FLUIDTEMPLATE
7.cObject.file = {$cd85base.resDir}/Private/ext/gridelements/grid2575.html
8 < lib.gridelements.defaultGridSetup
8.prepend =< lib.stdheader
8.cObject = FLUIDTEMPLATE
8.cObject.file = {$cd85base.resDir}/Private/ext/gridelements/grid255025.html
9 < lib.gridelements.defaultGridSetup
9.prepend =< lib.stdheader
9.cObject = FLUIDTEMPLATE
9.cObject.file = {$cd85base.resDir}/Private/ext/gridelements/footer_content.html
9.cObject.variables {
contactUs = TEXT
contactUs {
value = Contactez-nous
typolink {
parameter = 17
ATagParams = class="btn btn--primary btn--dark"
}
}
newsletter = TEXT
newsletter {
value = Abonnez-vous
typolink {
parameter = 80
ATagParams = class="btn btn--primary btn--dark"
}
}
pictoFacebook = TEXT
pictoFacebook {
value = {$pictofacebook}
}
pictoTwitterX = TEXT
pictoTwitterX {
value = {$pictotwitterX}
}
pictoYoutube = TEXT
pictoYoutube {
value = {$pictoyoutube}
}
pictoInstagram = TEXT
pictoInstagram {
value = {$pictoinstagram}
}
pictoLinkedin = TEXT
pictoLinkedin {
value = {$pictolinkedin}
}
pageFacebookId = TEXT
pageFacebookId {
value = {$ids_page_directory.facebook}
}
activeFacebookIdfooter = TEXT
activeFacebookIdfooter {
value = {$ids_active_directory.facebookfooter}
}
pageTwitterId = TEXT
pageTwitterId {
value = {$ids_page_directory.twitter}
}
activeTwitterIdfooter = TEXT
activeTwitterIdfooter {
value = {$ids_active_directory.twitterfooter}
}
pageYoutubeId = TEXT
pageYoutubeId {
value = {$ids_page_directory.youtube}
}
activeYoutubeIdfooter = TEXT
activeYoutubeIdfooter {
value = {$ids_active_directory.youtubefooter}
}
pageInstagramId = TEXT
pageInstagramId {
value = {$ids_page_directory.instagram}
}
activeInstagramIdfooter = TEXT
activeInstagramIdfooter {
value = {$ids_active_directory.instagramfooter}
}
pageLinkedInId = TEXT
pageLinkedInId {
value = {$ids_page_directory.linkedin}
}
activeLinkedInIdfooter = TEXT
activeLinkedInIdfooter {
value = {$ids_active_directory.linkedinfooter}
}
activeContactIdfooter = TEXT
activeContactIdfooter {
value = {$ids_active_directory.contactfooter}
}
activeNewsletterIdfooter = TEXT
activeNewsletterIdfooter {
value = {$ids_active_directory.newsletterfooter}
}
pageNewsletterIdfooter = TEXT
pageNewsletterIdfooter {
value = {$ids_page_directory.newsletterfooter}
}
}
10 < lib.gridelements.defaultGridSetup
10.prepend =< lib.stdheader
10.cObject = FLUIDTEMPLATE
10.cObject.file = {$cd85base.resDir}/Private/ext/gridelements/grid_news.html
}
lib.login < plugin.tx_felogin_pi1
lib.login {
storagePid = 114
templateFile = EXT:cd85base/Resources/Private/ext/felogin/Templates/FrontendLogin.html
showForgotPasswordLink = 0
redirectPageLogin = 53
showLogoutFormAfterLogin = 0
showPermaLogin = 0
redirectMode = groupLogin,userLogin,login,logout,loginError
username {
htmlSpecialChars = 1
wrap = Bienvenue |
}
_LOCAL_LANG.fr {
logout = Se déconnecter
}
}
plugin.tx_felogin_pi1 {
errorMessage_stdWrap.wrap =
|
}
# ke_search templating
plugin.tx_kesearch_pi1 {
view {
templateRootPaths {
0 = EXT:ke_search/Resources/Private/Templates/
1 = {$plugin.tx_kesearch.templateRootPath}
2 = {$cd85base.resDir}/Private/ext/ke_search/Templates/
}
partialRootPaths {
0 = EXT:ke_search/Resources/Private/Partials/
1 = {$plugin.tx_kesearch.partialRootPath}
2 = {$cd85base.resDir}/Private/ext/ke_search/Partials/
}
layoutRootPaths {
0 = EXT:ke_search/Resources/Private/Layouts/
1 = {$plugin.tx_kesearch.layoutRootPath}
}
}
}
plugin.tx_kesearch_pi2 {
view {
templateRootPaths {
0 = EXT:ke_search/Resources/Private/Templates/
1 = {$plugin.tx_kesearch.templateRootPath}
2 = {$cd85base.resDir}/Private/ext/ke_search/Templates/
}
partialRootPaths {
0 = EXT:ke_search/Resources/Private/Partials/
1 = {$plugin.tx_kesearch.partialRootPath}
2 = {$cd85base.resDir}/Private/ext/ke_search/Partials/
}
layoutRootPaths {
0 = EXT:ke_search/Resources/Private/Layouts/
1 = {$plugin.tx_kesearch.layoutRootPath}
}
}
}
plugin.tx_kesearch_pi1._LOCAL_LANG.default.num_results_plain = %s résultats
[getTSFE()?.id == {$solrPartnerListPageUid}]
plugin.tx_kesearch_pi1._LOCAL_LANG.default.filter_page_title = partenaires
plugin.tx_kesearch_pi2._LOCAL_LANG.default.filter_page_title = partenaires
[global]
[getTSFE()?.id == {$solrNewsListPageUid}]
plugin.tx_kesearch_pi1._LOCAL_LANG.default.filter_page_title = actualités
plugin.tx_kesearch_pi2._LOCAL_LANG.default.filter_page_title = actualités
[global]
# ***************************** SURCHARGE DES TEMPLATES POWERMAIL ************************************
plugin.tx_powermail {
view {
templateRootPaths {
0 = EXT:powermail/Resources/Private/Templates/
1 = {$cd85base.resDir}/Private/ext/powermail/Templates/
}
partialRootPaths {
0 = EXT:powermail/Resources/Private/Partials/
1 = {$cd85base.resDir}/Private/ext/powermail/Partials/
}
layoutRootPaths {
0 = EXT:powermail/Resources/Private/Layouts/
1 = {$cd85base.resDir}/Private/ext/powermail/Layouts/
}
}
}
# ***************************** SURCHARGE CONF POWERMAIL ************************************
plugin.tx_powermail {
_LOCAL_LANG.default.validationerror_mandatory = Ce champs est obligatoire
_LOCAL_LANG.default.validationerror_validation.1 = Le format de l'e-mail n'est pas valide
_LOCAL_LANG.default.validationerror_validation.3 = Le numéro de téléphone n'est pas valide
}
# ************************************************************************************
# ***************************** FILTRE ANTISPAM POWERMAIL ************************************
plugin.tx_powermail {
settings.setup {
spamshield {
_enable = 1
factor = 75
email =
emailSubject = Spam in powermail form recognized
emailTemplate = EXT:powermail/Resources/Private/Templates/Mail/SpamNotification.html
logfileLocation = typo3temp/logs/powermail_spam.log
logTemplate = EXT:powermail/Resources/Private/Templates/Log/SpamNotification.html
methods {
# Honeypot check
1 {
_enable = 1
# Spamcheck name
name = Honey Pot
# Class
class = In2code\Powermail\Domain\Validator\SpamShield\HoneyPodMethod
# if this check fails - add this indication value to indicator (0 disables this check completely)
indication = 5
# method configuration
configuration {
}
}
# Link check
2 {
_enable = 1
# Spamcheck name
name = Link check
# Class
class = In2code\Powermail\Domain\Validator\SpamShield\LinkMethod
# if this check fails - add this indication value to indicator (0 disables this check completely)
indication = 3
# method configuration
configuration {
# number of allowed links
linkLimit = 2
}
}
# Name check
3 {
_enable = 1
# Spamcheck name
name = Name check
# Class
class = In2code\Powermail\Domain\Validator\SpamShield\NameMethod
# if this check fails - add this indication value to indicator (0 disables this check completely)
indication = 3
# method configuration
configuration {
}
}
# Session check
4 {
_enable = 1
# Spamcheck name
name = Session check
# Class
class = In2code\Powermail\Domain\Validator\SpamShield\SessionMethod
# if this check fails - add this indication value to indicator (0 disables this check completely)
indication = 5
# method configuration
configuration {
}
}
# Unique check
5 {
_enable = 1
# Spamcheck name
name = Unique check
# Class
class = In2code\Powermail\Domain\Validator\SpamShield\UniqueMethod
# if this check fails - add this indication value to indicator (0 disables this check completely)
indication = 2
# method configuration
configuration {
}
}
# Value blacklist check
6 {
_enable = 1
# Spamcheck name
name = Value blacklist check
# Class
class = In2code\Powermail\Domain\Validator\SpamShield\ValueBlacklistMethod
# if this check fails - add this indication value to indicator (0 disables this check completely)
indication = 7
# method configuration
configuration {
# Blacklisted values (could also get read from a file - simply with FLUIDTEMPLATE)
values = TEXT
values.value = viagra,sex,porn,p0rn
}
}
# IP blacklist check
7 {
_enable = 1
# Spamcheck name
name = IP blacklist check
# Class
class = In2code\Powermail\Domain\Validator\SpamShield\IpBlacklistMethod
# if this check fails - add this indication value to indicator (0 disables this check completely)
indication = 7
# method configuration
configuration {
# Blacklisted values (could also get read from a file - simply with FLUIDTEMPLATE)
values = TEXT
values.value = 123.132.125.123,123.132.125.124
}
}
}
}
}
}
# ************************************************************************************
#shariff
tt_content.list.20.rxshariff_shariff {
settings {
enableBackend = 1
data {
lang = fr
mail-body =
mail-subject =
mail-url = mailto:webmaster@vendee.fr
media-url =
orientation = horizontal
referrer-track =
services = Facebook, Twitter, Mail
theme = standard
twitter-via =
button-style = icon
}
}
}
plugin.tx_kesearch_pi1._LOCAL_LANG.default.num_results_plain = %s résultats
config.recordLinks.tx_news {
typolink {
parameter = 11
additionalParams.data = field:uid
additionalParams.wrap = &tx_news_pi1[controller]=News&tx_news_pi1[action]=detail&tx_news_pi1[news]=|
}
}
plugin.tx_jpfaq_faq {
view {
templateRootPaths.0 = EXT:jpfaq/Resources/Private/Templates/
templateRootPaths.1 = {$cd85base.resDir}/Private/ext/jpfaq/Templates/
partialRootPaths.0 = EXT:jpfaq/Resources/Private/Partials/
partialRootPaths.1 = {$cd85base.resDir}/Private/ext/jpfaq/Partials/
layoutRootPaths.0 = EXT:jpfaq/Resources/Private/Layouts/
layoutRootPaths.1 = {$cd85base.resDir}/Private/ext/jpfaq/Layouts/
}
}
lib.parseFunc_RTE.externalBlocks = iframe
############################ CONF NEWS #######################
plugin.tx_news {
settings {
link.skipControllerAndAction = 1
list.media.image.width = 300c
list.media.image.height = 300c
# only for DETAILS VIEW
detail.media.image.maxWidth = 300c
detail.media.image.maxHeight = 300c
# only for LIST VIEW
list.media.image.maxWidth = 300c
list.media.image.maxHeight = 300c
backPid = 10
}
view {
templateRootPaths >
templateRootPaths {
0 = EXT:news/Resources/Private/Templates/
1 = fileadmin/templates/ext/news/Templates/
5 = {$cd85base.resDir}/Private/ext/news/Templates/
}
partialRootPaths >
partialRootPaths {
0 = EXT:news/Resources/Private/Partials/
1 = fileadmin/templates/ext/news/Partials/
5 = {$cd85base.resDir}/Private/ext/news/Partials/
}
layoutRootPaths >
layoutRootPaths {
0 = EXT:news/Resources/Private/Layouts/
1 = fileadmin/templates/ext/news/Layouts/
5 = {$cd85base.resDir}/Private/ext/news/Layouts/
}
}
}
############## SOLR ###############################
plugin.tx_solr.enabled = 1
plugin.tx_solr {
view {
templateRootPaths.5 = {$cd85base.resDir}/Private/ext/solr/Templates/
partialRootPaths.5 = {$cd85base.resDir}/Private/ext/solr/Partials/
layoutRootPaths.5 = {$cd85base.resDir}/Private/ext/solr/Layouts/
}
statistics = 1
}
# Conf Solr
plugin.tx_solr.search.initializeWithEmptyQuery = 1
plugin.tx_solr.search.showResultsOfInitialEmptyQuery = 1
plugin.tx_solr.search.query.allowEmptyQuery = 1
plugin.tx_solr.index.queue {
pages = 1
pages {
// only index standard pages
additionalWhereClause = doktype = 1 AND no_search = 0
fields {
struct_stringS = TEXT
struct_stringS.value = page
news_stringS = TEXT
news_stringS.value = Pages
title = title
description = TEXT
description {
field = tx_kesearch_abstract
}
content {
cObject {
20 = SOLR_RELATION
20 {
localField = content_elements
foreignLabelField = bodytext
singleValueGlue = | |
}
}
}
image_stringS = TEXT
image_stringS {
value = ./fileadmin/templates/site/png/no-image.png
override.cObject = FILES
override.cObject {
references {
table = pages
uid.data = field:uid
fieldName = tx_kesearch_resultimage
}
begin = 0
maxItems = 1
renderObj = IMG_RESOURCE
renderObj {
file {
import.dataWrap = {file:current:storage}:{file:current:identifier}
width = 300c
height = 300c
}
stdWrap.split {
token = ##!!##
cObjNum {
# render first entry
1 = TEXT
1.current = 1
# ignore all further entries
}
returnKey = 0
}
}
}
}
}
}
news = 1
news {
table = tx_news_domain_model_news
additionalWhereClause = tx_news_domain_model_news.type=0
additionalPageIds = {$solrStorageNewsPid}
fields {
struct_stringS = TEXT
struct_stringS.value = news
news_stringS = TEXT
news_stringS.value = Actualité
title = title
description = TEXT
description {
field = description // teaser
}
content {
cObject {
20 = SOLR_RELATION
20 {
localField = content_elements
foreignLabelField = bodytext
singleValueGlue = | |
}
}
}
# Dynamic Fields added to the index :
auteur_textS = TEXT
auteur_textS {
field = author
}
newsdate_stringS = TEXT
newsdate_stringS {
field = datetime
}
newsarchive_stringS = TEXT
newsarchive_stringS {
field = archive
}
archive_intS = TEXT
archive_intS {
field = archive
}
category_stringM = SOLR_RELATION
category_stringM {
localField = categories
foreignLabelField = title
enableRecursiveValueResolution = 1
multiValue = 1
}
image_stringS = TEXT
image_stringS.preUserFunc = CD85\Cd85base\Utility\UserFuncs\Solr->getNewsImage
image_stringS.field=uid
}
}
}
plugin.tx_solr.index.queue.news.fields.news_stringS.value = Actualités
plugin.tx_solr.index.queue.news.fields {
url = TEXT
url {
typolink {
additionalParams >
additionalParams.dataWrap = &tx_news_pi1[news]={field:uid}&tx_news_pi1[controller]=News&tx_news_pi1[action]=detail
parameter = {$solrNewsDetailPageUid}
returnLast = url
}
}
}
[getTSFE()?.id == {$solrStoragePartnerPid}]
plugin.tx_solr.index.queue.news.fields.struct_stringS.value = partenaire
plugin.tx_solr.index.queue.news.fields.news_stringS.value = Partenaires
plugin.tx_solr.index.queue.news.fields {
url = TEXT
url {
typolink {
parameter = {$solrPartnerListPageUid}
additionalParams >
additionalParams =
useCacheHash = 0
returnLast = url
}
}
}
[global]
[getTSFE()?.id == 10]
plugin.tx_solr {
view {
templateRootPaths.5 = {$cd85base.resDir}/Private/ext/solr/Templates/
partialRootPaths.5 = {$cd85base.resDir}/Private/ext/solr/Partials/
layoutRootPaths.5 = {$cd85base.resDir}/Private/ext/solr/Layouts/
}
search {
query {
filter {
newsOnly = type:tx_news_domain_model_news
}
}
}
}
[global]
plugin.tx_solr.logging.indexing.queue.news = 1
plugin.tx_solr.search {
targetPage = {$solrCommonTargetPage}
suggest = 1
suggest {
numberOfSuggestions = 5
suggestField = spell
showTopResults = 1
numberOfTopResults = 5
additionalTopResultsFields = tags_textM,keywords
}
initializeWithEmptyQuery = 1
showResultsOfInitialEmptyQuery = 1
initializeWithQuery = 0
showResultsOfInitialQuery = 0
keepExistingParametersForNewSearches = 0
ignoreGlobalQParameter = 0
query {
allowEmptyQuery = 1
queryFields = title^40.0, content^5.0, tags_textM^5.0, keywords^2.0, tagsH1^5.0, tagsH2H3^3.0, tagsH4H5H6^2.0, tagsInline^1.0, description^40.0, abstract^1.0, subtitle^1.0, navtitle^1.0, author^1.0
}
results {
resultsHighlighting = 1
siteHighlighting = 1
showDocumentScoreAnalysis = 1
}
faceting = 1
faceting {
facetLinkATagParams = rel="nofollow"
keepAllFacetsOnSelection = 1
facets {
category_stringM {
label = Categories
field = category_stringM
keepAllOptionsOnSelection = 1
#selectingSelectedFacetOptionRemovesFilter = 1
}
}
}
keepExistingParametersForNewSearches = 1
sorting = 0
sorting {
defaultOrder = asc
options {
relevance {
field = relevance
label = sorting_relevance
}
title {
field = sortTitle_stringS
label = sorting_title
}
type {
field = type
label = sorting_type
}
created {
field = created
label = sorting_created
}
}
}
}
[traverse(page, "uid") != 10]
plugin.tx_solr.search.faceting.facets {
news_stringS {
label = Type de contenu
field = news_stringS
keepAllOptionsOnSelection = 1
selectingSelectedFacetOptionRemovesFilter = 1
}
}
[global]
### Adaptation de la taille des images en mode liste ###
plugin.tx_kesearch_pi2.previewImage.file.maxW = 300c
plugin.tx_kesearch_pi2.previewImage.file.maxH = 300c
lib.getImage = FILES
lib.getImage {
references.current = 1
begin = 0
maxItems = 1
renderObj = IMG_RESOURCE
renderObj {
file {
import.dataWrap = {file:current:storage}:{file:current:identifier}
width = 300c
}
stdWrap.split {
token = ##!!##
cObjNum {
# render first entry
1 = TEXT
1.current = 1
# ignore all further entries
}
returnKey = 0
}
}
}