# TODO: carousel: gérer les cas où pas d'image (ne rien mettre), une seule image (pas de carousel), ou plusieurs
# -- après déploiement beta
# TODO: Placer tous les mots utilisés dans le fichier de traduction
# TODO: obtenir les infos suivantes via l'API: is_network, email, name, twitter, logo, network_logo, network_name, network_url
# TODO: filtrer les pages sans contenu (en option dans les constants?)
# TODO: rédiger une doc dev
# TODO: Rédiger une doc utilisateurs
# TODO: permettre de mettre en avant des évènements (appraissent plus longtemps à l'avance)
# TODO: ajouter un plugin "réseaux sociaux"
# TODO: tester l'intégration matomo
# TODO: permettre d'ajouter du contenu de type fichier
# TODO: permettre d'ajouter du contenu de type vidéos
# TODO: ajouter une recherche fulltext sur le site
# TODO: Faire des sites de demo / de test pour chaque thème avec un compte bidon mais représentatif
# TODO: trouver un système pour garder à jour les mentions légales
# TODO: Réflechir à un système pour pouvoir afficher un message sur tous les minisites, type 'Maintenance prévue le...' ou autre
[applicationContext = Development*]
config.debug = 1
config.contentObjectExceptionHandler = 0
config.no_cache = 1
config.admPanel = 0
plugin.tx_vhs.settings.debug = 0
plugin.tx_vhs.settings.asset.debug = 0
[end]
[applicationContext = Testing*]
config.debug = 1
config.contentObjectExceptionHandler = 1
[end]
# **** Configuration générale ****
config.language = fr
config.locale_all = fr_FR.utf-8
config.concatenateCss = 1
config.compressCss = 1
config.compressJs = 1
plugin.tx_vhs.assets.mergedAssetsUseHashedFilename = 1
# **** Déclaration des plugins
lib.auth = USER
lib.auth {
userFunc = Opentalent\OtConnect\OtAuthenticationService->logout
}
# Overrides fluid_styled_content contents (builtin contents)
#lib.contentElement.templateRootPaths.10 = EXT:ot_templating/Resources/Private/Templates/Ext/fluid_styled_content/Default/Templates/
# **** Page: configuration générale de la page courante ****
page = PAGE
page {
typeNum = 0
5 = USER
5 {
userFunc = TYPO3\CMS\Extbase\Core\Bootstrap->run
extensionName = Flux
vendorName = FluidTYPO3
pluginName = Page
}
10 >
}
page.config.doctype=html5
page.meta {
keywords.field = keywords
description.field = description
author.field = author
robots = index,follow,archive
viewport = width=device-width
}
# **** Configuration des extensions ****
plugin.tx_flux {
# Allow pages which have is_siteroot = 1 to inherit chosen template from parent.
# Disable this to prevent subsites in a multisite environment from using the same template as the immediate parent of that site root.
siteRootInheritance = 0
}
plugin.tx_ottemplating {
view {
templateRootPaths.0 = {$templateRootPath}
partialRootPaths.0 = {$partialRootPath}
layoutRootPaths.0 = {$layoutRootPath}
}
settings {
opentalentWebsite = {$plugin.tx_ottemplating.settings.opentalent.website}
opentalentLogoPath = {$plugin.tx_ottemplating.settings.opentalent.logoPath}
opentalentFileStorageUrl = {$plugin.tx_ottemplating.settings.opentalent.fileStorageUrl}
opentalentDashboardUrl = {$plugin.tx_ottemplating.settings.opentalent.dashboardUrl}
opentalentLogoutUrl = {$plugin.tx_ottemplating.settings.opentalent.logoutUrl}
structureId = {$plugin.tx_ottemplating.settings.organization.id}
structureLogoId = {$plugin.tx_ottemplating.settings.organization.logoid}
structureName = {$plugin.tx_ottemplating.settings.organization.name}
structureEmail = {$plugin.tx_ottemplating.settings.organization.email}
structureIsNetwork = {$plugin.tx_ottemplating.settings.organization.is_network}
networkLogo = {$plugin.tx_ottemplating.settings.network.logo}
networkName = {$plugin.tx_ottemplating.settings.network.name}
networkUrl = {$plugin.tx_ottemplating.settings.network.url}
cmfUrl = {$plugin.tx_ottemplating.settings.network.cmfUrl}
# aliases
organizationId = {$plugin.tx_ottemplating.settings.organization.id}
organizationIsNetwork = {$plugin.tx_ottemplating.settings.organization.is_network}
# computed
structureLogoUrl = {$plugin.tx_ottemplating.settings.opentalent.fileStorageUrl}{$plugin.tx_ottemplating.settings.organization.logoid}/0x60
networkLogoUrl = /typo3conf/ext/ot_templating/Resources/Public/media/{$plugin.tx_ottemplating.settings.network.logo}
# Default values for flux parameters
template = Classic
themeColor = light-blue
displayCarousel = {$plugin.tx_ottemplating.settings.appearance.carousel}
staticDonors = {$plugin.tx_ottemplating.settings.donors.static}
eventsLimit = {$plugin.tx_ottemplating.settings.events.limit}
eventsPeriod = {$plugin.tx_ottemplating.settings.events.period}
}
}
# * Form extension
# @see https://docs.typo3.org/c/typo3/cms-form/9.5/en-us/Introduction/Index.html
# -- BE integration
module.tx_form {
settings {
yamlConfigurations {
100 = EXT:ot_templating/Configuration/Form/CustomFormSetup.yaml
}
}
}
# -- FE integration
plugin.tx_form {
settings {
yamlConfigurations {
100 = EXT:ot_templating/Configuration/Form/CustomFormSetup.yaml
}
formDefinitionOverrides {
ContactForm {
finishers {
0 {
options {
recipientAddress = {$plugin.tx_ottemplating.settings.organization.email}
}
}
}
}
}
}
}
# Create the form object to render with:
#
lib.tx_ottemplating.widgets.contact = USER_INT
lib.tx_ottemplating.widgets.contact {
userFunc = TYPO3\CMS\Extbase\Core\Bootstrap->run
extensionName = Form
pluginName = Formframework
vendorName = TYPO3\CMS
switchableControllerActions {
FormFrontend {
1 = perform
}
}
settings.persistenceIdentifier = EXT:ot_templating/Resources/Private/Forms/Contact.form.yaml
}
# * News extension integration
# Disable error handling to allow displaying both list ans detail on the same page
plugin.tx_news.settings {
detail.errorHandling =
}
# Create the news list and news details objects to render with:
#
#
lib.tx_ottemplating.widgets {
listnews = USER
listnews {
userFunc = TYPO3\CMS\Extbase\Core\Bootstrap->run
extensionName = News
pluginName = Pi1
vendorName = GeorgRinger
action = list
switchableControllerActions {
News {
1 = list
}
}
settings < plugin.tx_news.settings
settings {
limit = {$settings.news.limit}
}
}
detailnews < lib.tx_ottemplating.widgets.listnews
detailnews {
action = detail
switchableControllerActions.News.1 = detail
}
}