page { includeCSS { stylesSavoir = EXT:savoir/Resources/Public/Css/stylesSavoir.scss print = EXT:savoir/Resources/Public/Css/print.css print.media = print } includeJS { readspeaker = https://cdn-eu.readspeaker.com/script/13184/webReader/webReader.js?pids=wr readspeaker.external = 1 } includeJSFooter { readingtime = EXT:savoir/Resources/Public/Js/readingtime.js customSavoir = EXT:savoir/Resources/Public/Js/custom.js } 10{ settings { rootPage = {$page.general.rootpage} accesdirectCat = {$page.category.accesdirect} disableBigMenu = {$page.general.disableBigMenu} } //BREADCRUMB dataProcessing.30.special.range = 3|-1 dataProcessing.10 { levels = 2 entryLevel > includeSpacer > special = directory special.value = {$page.general.rootpage} } dataProcessing.20 { levels = > entryLevel > expandAll > includeSpacer > special = directory special.value = {$topMenu} as = topMenu } dataProcessing.1629126321 { if > levels = > includeNotInMenu > special = directory special.value = {$idFolderMenuFooter} } } } lib.contentElement.settings { rootPage = {$page.general.rootpage} accesdirectCat = {$page.category.accesdirect} collectionsCat = {$page.category.collections} } #DISABLE MENU page.367812 = TEXT page.367812.value ( ) #Folder Stats page.3680 = TEXT page.3680.value ( ) #Max carac pour les cartes de page lib.contentElement.settings.menucard.abstract.crop = 150 #Domaine de eiffel insti pour le header lib.domainLink = COA lib.domainLink { 10 = IMAGE 10 { file = {$page.logo.institutionnel} file.width = 140 altText = Logo du site institutionnel Eiffel } wrap =
wrap.insertData = 1 } lib.domainLinkWithoutImg = TEXT lib.domainLinkWithoutImg { value = value.insertData = 1 } #Si en EN, prendre les tags EN [siteLanguage("languageId") == 1] lib.domainLink.wrap = lib.domainLinkWithoutImg.wrap = [end] #Génére les filtres/tags pour la recherche search.filters = HMENU search.filters { stdWrap.dataWrap = | special = list special.value = {$page.search.filters} 1 = TMENU 1 { expAll = 1 noBlur = 1 NO = 1 NO { doNotLinkIt = 1 doNotShowLink = 1 wrapItemAndSub.cObject = COA wrapItemAndSub.cObject { 10 = TEXT 10 { if.isTrue.data = field:title field = title dataWrap = } } } } } #Génére les filtres pour la recherche à partir de la liste des filtres de la page courante search.smallFilters = COA search.smallFilters { 10 = CONTENT 10 { table = pages select { pidInList = 0 uidInList = {TSFE:id} uidInList.insertData = 1 orderBy = pid, sorting } renderObj = LOAD_REGISTER renderObj { listId.cObject = TEXT listId.cObject.field = filters } } 20 = COA 20 { if.isTrue.data = register:listId 10 < search.filters 10.special.value = {register:listId} 10.special.value.insertData = 1 } 30 = COA 30 { if.isFalse.data = register:listId 10 < search.filters 10.special = directory 10.special.value = {TSFE:id} 10.special.value.insertData = 1 } } #Si en EN, prendre les tags EN [siteLanguage("languageId") == 1] search.smallFilters.10.select.pidInList = {$page.general.rootpage} search.smallFilters.10.select.pidInList.insertData = 1 search.smallFilters.10.select.uidInList > search.smallFilters.10.select.where = l10n_source = {TSFE:id} AND sys_language_uid = 1 [end] #Le domaine courant pour la recherche sur le site global lib.searchDomain = TEXT lib.searchDomain { value = value.insertData = 1 } #Lance l'userfunc pour implementer les vues lib.viewCounter = USER_INT lib.viewCounter { userFunc = Wseils\Savoir\Utility\UserFuncs\ViewCounter->viewCounter } lib.menurecentlyupdated = CONTENT lib.menurecentlyupdated { wrap =|
5 = FILES 5 { if.isTrue.data = field:nav_icon references { table = pages uid.data = field:uid fieldName = nav_icon } renderObj = COA renderObj { 5 = IMG_RESOURCE 5 { file.import.data = file:current:uid file.treatIdAsReference = 1 file.crop.data = file:current:crop stdWrap.wrap = } } } 10 = TEXT 10 { field = subtitle // title wrap = | } } } } #Pour le type en EN lib.typePageEN < lib.typePage lib.typePageEN { 8 = CONTENT 8 { table = pages select { pidInList = {$page.general.rootpage} recursive = 99 where = l10n_source = {register:idPage} where.insertData = 1 } renderObj = LOAD_REGISTER renderObj { pidPage.cObject = TEXT pidPage.cObject.field = uid } } 10.select.uidInList = {register:pidPage} } //Image Banner lib.banner > lib.banner = CONTENT lib.banner { table = sys_file_reference select { pidInList = {TSFE:id} pidInList.insertData = 1 where = `tablenames` = "pages" AND `fieldname` = "bannerimg" where.insertData = 1 max = 1 languageField = 0 } slide = -1 renderObj = FILES renderObj { references { table = pages uid.data = field:uid_foreign fieldName = bannerimg } renderObj = IMG_RESOURCE renderObj { file.import.data = file:current:uid file.treatIdAsReference = 1 file.crop.data = file:current:crop file.maxW = 1200 stdWrap.wrap = | } } } //Titre et surtitre de la page page.title { wrap =|
[end] //Retourne l'id de la page courante lib.currentPageId = TEXT lib.currentPageId.data = TSFE:id //Récupère les contenus pour le bloc de partage lib.shareText = CONTENT lib.shareText { table = tt_content select { orderBy = sorting pidInList = {$page.general.shareBloc} } } //Récupère les contenus pour la modal de partage lib.shareModal = CONTENT lib.shareModal { table = tt_content select { orderBy = sorting pidInList = {$page.general.shareModal} } } lib.citation.10 { 10.renderObj { params = if.isFalse.data = file:current:shareImage } 20 < .10 20.renderObj { params = data-share="no" if > if.isTrue.data = file:current:shareImage } } page.1224.value = {$page.category.collections} page.1224.value.insertData = 1 page.1225.value = {$page.category.accesdirect} page.1225.value.insertData = 1 page.1226.value = {$page.module.listFR} page.1226.value.insertData = 1 page.1227.value = {$page.module.listEN} page.1227.value.insertData = 1