Browse Source

Ajout d'un nouveau bloc de présentation des derniers articles en 3 colonnes avec formulaire de configuration spécifique, pour le thème 'educnat'. Passage en version 0.4.37

master v0.4.37
Olivier Gautier 1 year ago
parent
commit
7e25b52dd8
  1. 484
      css/spipr_dist.lessOLD
  2. 16
      css/spipr_educ.less.html
  3. 77
      formulaires/spipr_educ_configure_sommaire_derniers_articles_3_colonnes.html
  4. 39
      formulaires/spipr_educ_configure_sommaire_derniers_articles_3_colonnes.php
  5. 10
      inc/spipr_educ_definitions_themes.php
  6. 188
      inc/spipr_educ_educnat_ajouter_menu_3_colonnes.php
  7. 3
      inc/spipr_educ_educnat_retirer_menu_3_colonnes.php
  8. 1
      lang/spipr_educ_fr.php
  9. 2
      paquet.xml
  10. 5
      prive/squelettes/contenu/spipr_educ_configure_bloc.html
  11. 69
      themes/educnat/noisettes/sommaire/sommaire_derniers_articles_3_colonnes.html

484
css/spipr_dist.lessOLD

@ -1,484 +0,0 @@
@import "css/navbar.less";
@import "css/navs.less";
@import "css/responsive-navbar.less";
@import "css/responsive-utilities.less";
@import "css/dropdowns.less";
@import "css/spip.variables.less";
@import "css/mixins.less";
/* Ici les variables issues de bootstrap2, fichier d'origine variables.less */
//
// Variables
// --------------------------------------------------
// Global values
// --------------------------------------------------
// Grays
// -------------------------
@black: #000;
@grayDarker: #222;
@grayDark: #333;
@gray: #555;
@grayLight: #999;
@grayLighter: #eee;
@white: #fff;
// Accent colors
// -------------------------
@blue: #049cdb;
@blueDark: #0064cd;
@green: #46a546;
@red: #9d261d;
@yellow: #ffc40d;
@orange: #f89406;
@pink: #c3325f;
@purple: #7a43b6;
// Scaffolding
// -------------------------
@bodyBackground: @white;
@textColor: @grayDark;
// Links
// -------------------------
@linkColor: #900;
@linkColorHover: darken(@linkColor, 15%);
// Typography
// -------------------------
@sansFontFamily: "Lucida Grande", "Lucida Sans Unicode", "Lucida Sans", Geneva, Verdana, sans-serif;
@serifFontFamily: Georgia, Cambria, "Times New Roman", Times, serif;
@monoFontFamily: "Courier New", Courier, monospace;
@baseFontSize: 14px;
@baseFontFamily: @serifFontFamily;
@baseLineHeight: 20px;
@altFontFamily: @sansFontFamily;
@headingsFontFamily: @baseFontFamily; // empty to use BS default, @baseFontFamily
@headingsFontWeight: normal; // instead of browser default, bold
@headingsColor: inherit; // empty to use BS default, @textColor
// Component sizing
// -------------------------
// Based on 14px font-size and 20px line-height
@fontSizeLarge: @baseFontSize * 1.25; // ~18px
@fontSizeSmall: @baseFontSize * 0.85; // ~12px
@fontSizeMini: @baseFontSize * 0.75; // ~11px
@paddingLarge: 11px 19px; // 44px
@paddingSmall: 2px 10px; // 26px
@paddingMini: 0 6px; // 22px
@baseBorderRadius: 4px;
@borderRadiusLarge: 6px;
@borderRadiusSmall: 3px;
// Tables
// -------------------------
@tableBackground: transparent; // overall background-color
@tableBackgroundAccent: #f9f9f9; // for striping
@tableBackgroundHover: #f5f5f5; // for hover
@tableBorder: #ddd; // table and cell border
// Buttons
// -------------------------
@btnBackground: @white;
@btnBackgroundHighlight: darken(@white, 10%);
@btnBorder: #bbb;
@btnPrimaryBackground: @linkColor;
@btnPrimaryBackgroundHighlight: spin(@btnPrimaryBackground, 20%);
@btnInfoBackground: #5bc0de;
@btnInfoBackgroundHighlight: #2f96b4;
@btnSuccessBackground: #62c462;
@btnSuccessBackgroundHighlight: #51a351;
@btnWarningBackground: lighten(@orange, 15%);
@btnWarningBackgroundHighlight: @orange;
@btnDangerBackground: #ee5f5b;
@btnDangerBackgroundHighlight: #bd362f;
@btnInverseBackground: #444;
@btnInverseBackgroundHighlight: @grayDarker;
// Forms
// -------------------------
@inputBackground: @white;
@inputBorder: #ccc;
@inputBorderRadius: @baseBorderRadius;
@inputDisabledBackground: @grayLighter;
@formActionsBackground: #f5f5f5;
@inputHeight: @baseLineHeight + 10px; // base line-height + 8px vertical padding + 2px top/bottom border
// Dropdowns
// -------------------------
@dropdownBackground: @white;
@dropdownBorder: rgba(0,0,0,.2);
@dropdownDividerTop: #e5e5e5;
@dropdownDividerBottom: @white;
@dropdownLinkColor: @grayDark;
@dropdownLinkColorHover: @white;
@dropdownLinkColorActive: @white;
@dropdownLinkBackgroundActive: @linkColor;
@dropdownLinkBackgroundHover: @dropdownLinkBackgroundActive;
// COMPONENT VARIABLES
// --------------------------------------------------
// Z-index master list
// -------------------------
// Used for a bird's eye view of components dependent on the z-axis
// Try to avoid customizing these :)
@zindexDropdown: 1000;
@zindexPopover: 1010;
@zindexTooltip: 1030;
@zindexFixedNavbar: 1030;
@zindexModalBackdrop: 1040;
@zindexModal: 1050;
// Sprite icons path
// -------------------------
@iconSpritePath: "./img/sprite.png";
@iconWhiteSpritePath: "./img/sprite.png";
// Input placeholder text color
// -------------------------
@placeholderText: @grayLight;
// Hr border color
// -------------------------
@hrBorder: @grayLighter;
// Horizontal forms & lists
// -------------------------
@horizontalComponentOffset: 180px;
// Wells
// -------------------------
@wellBackground: #f5f5f5;
// Navbar
// -------------------------
@navbarCollapseWidth: 767px;
@navbarCollapseDesktopWidth: @navbarCollapseWidth + 1;
@navbarHeight: 40px;
@navbarBackgroundHighlight: #ffffff;
@navbarBackground: darken(@navbarBackgroundHighlight, 5%);
@navbarBorder: darken(@navbarBackground, 12%);
@navbarText: #777;
@navbarLinkColor: #777;
@navbarLinkColorHover: @grayDark;
@navbarLinkColorActive: @gray;
@navbarLinkBackgroundHover: transparent;
@navbarLinkBackgroundActive: darken(@navbarBackground, 5%);
@navbarBrandColor: @navbarLinkColor;
// Inverted navbar
@navbarInverseBackground: #111111;
@navbarInverseBackgroundHighlight: #222222;
@navbarInverseBorder: #252525;
@navbarInverseText: @grayLight;
@navbarInverseLinkColor: @grayLight;
@navbarInverseLinkColorHover: @white;
@navbarInverseLinkColorActive: @navbarInverseLinkColorHover;
@navbarInverseLinkBackgroundHover: @navbarBackground/2;
@navbarInverseLinkBackgroundActive: @navbarInverseBackground;
@navbarInverseSearchBackground: lighten(@navbarInverseBackground, 25%);
@navbarInverseSearchBackgroundFocus: @white;
@navbarInverseSearchBorder: @navbarInverseBackground;
@navbarInverseSearchPlaceholderColor: #ccc;
@navbarInverseBrandColor: @navbarInverseLinkColor;
// Pagination
// -------------------------
@paginationBackground: #fff;
@paginationBorder: #ddd;
@paginationActiveBackground: #f5f5f5;
// Hero unit
// -------------------------
@heroUnitBackground: @grayLighter;
@heroUnitHeadingColor: inherit;
@heroUnitLeadColor: inherit;
// Form states and alerts
// -------------------------
@warningText: #c09853;
@warningBackground: #fcf8e3;
@warningBorder: darken(spin(@warningBackground, -10), 3%);
@errorText: #b94a48;
@errorBackground: #f2dede;
@errorBorder: darken(spin(@errorBackground, -10), 3%);
@successText: #468847;
@successBackground: #dff0d8;
@successBorder: darken(spin(@successBackground, -10), 5%);
@infoText: #3a87ad;
@infoBackground: #d9edf7;
@infoBorder: darken(spin(@infoBackground, -10), 7%);
// Tooltips and popovers
// -------------------------
@tooltipColor: #fff;
@tooltipBackground: #000;
@tooltipArrowWidth: 5px;
@tooltipArrowColor: @tooltipBackground;
@popoverBackground: #fff;
@popoverArrowWidth: 10px;
@popoverArrowColor: #fff;
@popoverTitleBackground: darken(@popoverBackground, 3%);
// Special enhancement for popovers
@popoverArrowOuterWidth: @popoverArrowWidth + 1;
@popoverArrowOuterColor: rgba(0,0,0,.25);
// GRID
// --------------------------------------------------
// Default 940px grid
// -------------------------
@gridColumns: 12;
@gridColumnWidth: 60px;
@gridGutterWidth: 20px;
@gridRowWidth: (@gridColumns * @gridColumnWidth) + (@gridGutterWidth * (@gridColumns - 1));
// 1200px min
@gridColumnWidth1200: 70px;
@gridGutterWidth1200: 30px;
@gridRowWidth1200: (@gridColumns * @gridColumnWidth1200) + (@gridGutterWidth1200 * (@gridColumns - 1));
// 768px-979px
@gridColumnWidth768: 42px;
@gridGutterWidth768: 20px;
@gridRowWidth768: (@gridColumns * @gridColumnWidth768) + (@gridGutterWidth768 * (@gridColumns - 1));
// Fluid grid
// -------------------------
@fluidGridColumnWidth: percentage(@gridColumnWidth/@gridRowWidth);
@fluidGridGutterWidth: percentage(@gridGutterWidth/@gridRowWidth);
// 1200px min
@fluidGridColumnWidth1200: percentage(@gridColumnWidth1200/@gridRowWidth1200);
@fluidGridGutterWidth1200: percentage(@gridGutterWidth1200/@gridRowWidth1200);
// 768px-979px
@fluidGridColumnWidth768: percentage(@gridColumnWidth768/@gridRowWidth768);
@fluidGridGutterWidth768: percentage(@gridGutterWidth768/@gridRowWidth768);
/* Quelques éléments spécifiques à SPIPr */
.header {position: relative;}
.header .accueil a {color: inherit;}
.header .spip_logos {float:left;margin: @paddingLarge;margin-left: 0;margin-top:0;}
.header .accueil {}
#logo_site_spip {line-height: 1em;}
#slogan_site_spip {display: block;}
.header .formulaire_menu_lang {width: 100%;}
.header .formulaire_menu_lang select {width: 100%;}
.hero-unit .postmeta {clear: both;}
.formulaire_recherche,.secondary .formulaire_recherche {padding-right: 42px+2*14px;} /* provisionner la largeur du bouton+padding sur le input.search */
.formulaire_recherche form .input-append {width:100%;}
.formulaire_recherche form input.search {width:100%;}
.footer {
.clearfix;
margin-top:4em;
padding-top: 2em;
border-top:2px solid;
padding-bottom: 2em;
margin-bottom:0;
text-align: left;
position:relative;
.colophon {padding-right: 100px}
.generator {position: absolute;top:2em;right:0;max-width: 100px;}
}
.cartouche {margin-bottom: @emLineHeight;}
.content.primary {min-height: 320px;}
.content {
.postmeta .tags .inline {display: inline;}
}
.page_sommaire .breadcrumb {display: none}
#nav > .navbar-inner {padding-left: 0;padding-right: 0}
/* Pour NavBar, en provenance de SPIPr-educ */
/* surcharge des règles issue de bootstrap + on surcharge les images dans le /img de notre dossier css */
[class^="icon-"],
[class*=" icon-"]{
background-image:url("@{iconSpritePath}");
margin-top: 3px;
}
.icon-white,
.nav-pills > .active > a > [class^="icon-"],
.nav-pills > .active > a > [class*=" icon-"],
.nav-list > .active > a > [class^="icon-"],
.nav-list > .active > a > [class*=" icon-"],
.navbar-inverse .nav > .active > a > [class^="icon-"],
.navbar-inverse .nav > .active > a > [class*=" icon-"],
.dropdown-menu > li > a:hover > [class^="icon-"],
.dropdown-menu > li > a:focus > [class^="icon-"],
.dropdown-menu > li > a:hover > [class*=" icon-"],
.dropdown-menu > li > a:focus > [class*=" icon-"],
.dropdown-menu > .active > a > [class^="icon-"],
.dropdown-menu > .active > a > [class*=" icon-"],
.dropdown-submenu:hover > a > [class^="icon-"],
.dropdown-submenu:focus > a > [class^="icon-"],
.dropdown-submenu:hover > a > [class*=" icon-"],
.dropdown-submenu:focus > a > [class*=" icon-"]{
background-image:url("@{iconWhiteSpritePath}");
}
.navbar .nav > li > a {padding: 9px 10px;}
.navbar .nav > li.item-picto > a {padding: 9px 15px;}
/* icones en sprite css */
[class^="icon-nav"], [class*=" icon-nav"]{
background-image:url("./img/sprite.png");
height:22px;
width:22px;
background-repeat:no-repeat;
display:inline-block;
vertical-align:text-top;
margin:0;
&:hover{background-color:@grayDark;}
}
.icone{
display: inline-block;
vertical-align: middle;
padding:5px;
width: 30px;
height: 30px;
.border-radius(20px);
background-color: @blue ;
&:hover,&:active,&:focus{background-color: @blue ;}
}
#nav{
.menu-container{
border-top:1px solid @blue;
border-bottom:1px solid @blue;
.border-radius(0);
.nav{
margin:0 auto;
float:none;
.dropdown-menu {
min-width: 240px;
.border-radius(@baseBorderRadius);
.box-shadow(0 2px 2px rgba(0,0,0,.2));
}
.item{
li.item{
text-transform:none;
background:none;
list-style: none;
a{
display: block;
&:hover,&:focus,&:active{background-color:@blue;color:@white;}
}
}
&.tout_voir{text-align:right;}
.on,&.on{font-weight: normal;}
&.item-picto {
>a{
&.icon-nav-home{
background-position:12px -30px;
&:hover,&:focus,&:active{background-position:12px 9px;}
}
&.icon-nav-calendar{
background-position:-25px -30px;
&:hover,&:focus,&:active{background-position:-27px 9px;}
}
&.icon-nav-contact{
background-position:-187px -30px;
&:hover,&:focus,&:active{background-position:-187px 9px;}
}
&.icon-nav-themes{
background-position:-266px -30px;
&:hover,&:focus,&:active{background-position:-266px 9px;}
}
&.icon-nav-star{
background-position:-228px -30px;
&:hover,&:focus,&:active{background-position:-228px 9px;}
}
}
}
}
}
}
}
/* Gestion des layoutgala */
@import "css/layoutgala/9";
@import "css/layoutgala/33";
@import "css/layoutgala/27";
/* par defaut : 2 colonnes en largeurs fixes */
#layoutgala33 > .core(8,4,4,@gridColumnWidth,@gridGutterWidth);
/* largeur>1200px : 3 colonnes en largeurs fixes sur les ecrans larges */
@media (min-width: 1200px) {
#layoutgala9 > .core(6,3,3,@gridColumnWidth1200,@gridGutterWidth1200);
}
/* entre 768px et 979px : 2 colonnes en largeurs fixes, mais grille plus etroite*/
@media (min-width: 768px) and (max-width: 979px) {
#layoutgala33 > .core(8,4,4,@gridColumnWidth768,@gridGutterWidth768);
}
/* largeur < 767px : content en pleine largeur, aside et extra en 2 colonnes en dessous */
@media (max-width: 767px) {
#layoutgala27 > .core(auto,48%,48%,@gridColumnWidth768,@gridGutterWidth768);
}
/* largeur < 450px : on garde le layout de dessus, mais on verticalise tout (content puis aside puis extra) */
@media (max-width: 450px) {
div#aside {float:none;width:100%;}
div#extra {float:none;width:100%;}
}

16
css/spipr_educ.less.html

@ -1135,6 +1135,22 @@ ul#liste_dyslexie, ul#liste_interlignage, ul#liste_justification {
}
</BOUCLE_menu_3_colonnes>
[(#REM) Ajout des CSS des derniers articles présentés en 3 colonnes correspondant au thème Educnat]
<BOUCLE_derniers_articles_3_colonnes(SPIPR_EDUC){nom_sauvegarde = en_cours_d_utilisation_SPIPr}{nom = sommaire_derniers_articles_3_colonnes} {type = graphisme}>
[(#PARAMETRE9)]
#sommaire_derniers_articles_3_colonnes ul.container_articles_3_colonnes > li {
[background-color:(#PARAMETRE2);]
.trois_colonnes_container_haut {
[.article_3_colonnes_logo {border-bottom:5px solid (#PARAMETRE6);}]
[.article_3_colonnes_mots_cles_container ul.article_3_colonnes_mots_cles li a:hover{background-color:(#PARAMETRE6);}]
}
.trois_colonnes_container_bas {
[a.article_3_colonnes_savoir_plus {color:(#PARAMETRE5);[background-color:lighten((#PARAMETRE6),[(#PARAMETRE7)%]);]}]
[a.article_3_colonnes_savoir_plus:hover {background-color:darken((#PARAMETRE6),[(#PARAMETRE8)%]);}]
}
}
</BOUCLE_derniers_articles_3_colonnes>
[(#REM) Règles CSS ou LESS spécifiques, toujours en dernier]
<BOUCLE_css_perso(SPIPR_EDUC){nom_sauvegarde = en_cours_d_utilisation_SPIPr}{nom = graphisme_css}>
#PARAMETRE1

77
formulaires/spipr_educ_configure_sommaire_derniers_articles_3_colonnes.html

@ -0,0 +1,77 @@
#CACHE{0}
<div class="formulaire_spip formulaire_configurer formulaire_#FORM formulaire_#FORM-#ENV{id,nouveau}">
<h2 class='titre'><div style="text-align:center;margin-top:10px;">Paramètres graphiques des derniers articles présentés en 3 colonnes<br />
</div></h2>
[<p class="reponse_formulaire reponse_formulaire_erreur">(#ENV*{message_erreur})</p>]
[<p class="reponse_formulaire reponse_formulaire_ok">(#ENV*{message_ok})</p>]
<form method='post' action='#ENV{action}' name ='form#ENV{page}configuresommairederniersarticles3colonnes'><div>
[(#REM) declarer les hidden qui declencheront le service du formulaire
parametre : url d'action ]
#ACTION_FORMULAIRE{#ENV{action}}
<ul class="editer-groupe">
<li class="fieldset">
<fieldset>
<h3 class="legend">Paramètres graphiques généraux</h3>
<ul class="editer-groupe">
<li class="editer facultatif">
<label for="derniersarticles3colonnesBlockTitle">Titre du bloc</label>
<input type='text' name='derniersarticles3colonnesBlockTitle' id='derniersarticles3colonnesBlockTitle' value="#ENV{derniersarticles3colonnesBlockTitle}" class="text" />
</li>
<li class="editer facultatif">
<label for="derniersarticles3colonnesBackground">Couleur de fond des blocs</label>
<input type='text' name='derniersarticles3colonnesBackground' id='derniersarticles3colonnesBackground' value="#ENV{derniersarticles3colonnesBackground}" class="text palette" />
</li>
<li class="editer facultatif">
<label for="derniersarticles3colonnesPaging">Nombre d'articles affichés</label>
<input type='number' name='derniersarticles3colonnesPaging' id='derniersarticles3colonnesPaging' value="#ENV{derniersarticles3colonnesPaging}" class="number" min="3" max="18" step="3" style="width:3em;" />
</li>
</ul>
</fieldset>
</li>
<li class="fieldset">
<fieldset>
<h3 class="legend">Configuration des boutons "Lire le contenu"</h3>
<ul class="editer-groupe">
<li class="editer facultatif">
<label for="derniersarticles3colonnesTextButton">Texte des boutons</label>
<input type='text' name='derniersarticles3colonnesTextButton' id='derniersarticles3colonnesTextButton' value="#ENV{derniersarticles3colonnesTextButton}" class="text" />
</li>
<li class="editer facultatif">
<label for="derniersarticles3colonnesButtonColor">Couleur du texte des boutons</label>
<input type='text' name='derniersarticles3colonnesButtonColor' id='derniersarticles3colonnesButtonColor' value="#ENV{derniersarticles3colonnesButtonColor}" class="text palette" />
</li>
<li class="editer facultatif">
<label for="derniersarticles3colonnesButtonBackground">Couleur de fond des boutons, de la ligne sous le logo, et des mots-clés au survol</label>
<input type='text' name='derniersarticles3colonnesButtonBackground' id='derniersarticles3colonnesButtonBackground' value="#ENV{derniersarticles3colonnesButtonBackground}" class="text palette" />
</li>
<li class="editer facultatif">
<label for="derniersarticles3colonnesButtonLighten">Pourcentage d'éclaicissement de la couleur de fond des boutons (0=aucun éclaircissement ; 100=couleur éclaircie au blanc)</label>
<input type='number' name='derniersarticles3colonnesButtonLighten' id='derniersarticles3colonnesButtonLighten' value="#ENV{derniersarticles3colonnesButtonLighten}" class="number" min="0" max="100" style="width:3em;" />
</li>
<li class="editer facultatif">
<label for="derniersarticles3colonnesButtonDarken">Pourcentage d'assombrissement de la couleur de fond des boutons lors du survol (0=aucun assombrissement ; 100=couleur assombrie au noir)</label>
<input type='number' name='derniersarticles3colonnesButtonDarken' id='derniersarticles3colonnesButtonDarken' value="#ENV{derniersarticles3colonnesButtonDarken}" class="number" min="0" max="100" style="width:3em;" />
</li>
</ul>
</fieldset>
</li>
<li class="fieldset">
<fieldset>
<h3 class="legend">CSS</h3>
<ul class="editer-groupe">
<li class="editer facultatif">
<label for="derniersarticles3colonnesCss">Règles CSS ou LESS spécifiques pour ce bloc (s'appliquent sur <em>#sommaire_derniers_articles_3_colonnes</em>)</label>
<textarea name='derniersarticles3colonnesCss' id='derniersarticles3colonnesCss' class="text" rows="6">[(#ENV**{derniersarticles3colonnesCss})]</textarea>
</li>
</ul>
</fieldset>
</li>
</ul>
<input type='hidden' name='hidden_derniersarticles3colonnes' value='ok' />
<p class='boutons'><input type='submit' class='submit' value='Valider' /></p>
</div>
</form>
</div>

39
formulaires/spipr_educ_configure_sommaire_derniers_articles_3_colonnes.php

@ -0,0 +1,39 @@
<?php
if (!defined('_ECRIRE_INC_VERSION')) return;
function formulaires_spipr_educ_configure_sommaire_derniers_articles_3_colonnes_charger_dist($nom,$id) {
$tab_sql=sql_fetsel('*','spip_spipr_educ',"nom='sommaire_derniers_articles_3_colonnes' AND nom_sauvegarde='en_cours_d_utilisation_SPIPr' AND type='graphisme'");
$valeurs['derniersarticles3colonnesBlockTitle'] = $tab_sql['parametre1'];
$valeurs['derniersarticles3colonnesBackground'] = $tab_sql['parametre2'];
$valeurs['derniersarticles3colonnesPaging'] = $tab_sql['parametre3'];
$valeurs['derniersarticles3colonnesTextButton'] = $tab_sql['parametre4'];
$valeurs['derniersarticles3colonnesButtonColor'] = $tab_sql['parametre5'];
$valeurs['derniersarticles3colonnesButtonBackground'] = $tab_sql['parametre6'];
$valeurs['derniersarticles3colonnesButtonLighten'] = $tab_sql['parametre7'];
$valeurs['derniersarticles3colonnesButtonDarken'] = $tab_sql['parametre8'];
$valeurs['derniersarticles3colonnesCss'] = $tab_sql['parametre9'];
$valeurs['nom'] = $nom;
return $valeurs;
}
function formulaires_spipr_educ_configure_sommaire_derniers_articles_3_colonnes_traiter_dist($nom,$id) {
if (_request('hidden_derniersarticles3colonnes') == 'ok') {
sql_updateq(
'spip_spipr_educ',
array(
'parametre1' => _request('derniersarticles3colonnesBlockTitle'),
'parametre2' => _request('derniersarticles3colonnesBackground'),
'parametre3' => _request('derniersarticles3colonnesPaging'),
'parametre4' => _request('derniersarticles3colonnesTextButton'),
'parametre5' => _request('derniersarticles3colonnesButtonColor'),
'parametre6' => _request('derniersarticles3colonnesButtonBackground'),
'parametre7' => _request('derniersarticles3colonnesButtonLighten'),
'parametre8' => _request('derniersarticles3colonnesButtonDarken'),
'parametre9' => _request('derniersarticles3colonnesCss'),
),
"nom='sommaire_derniers_articles_3_colonnes' AND nom_sauvegarde='en_cours_d_utilisation_SPIPr' AND type='graphisme'"
);
}
$res['message_ok'] = _T('config_info_enregistree');
return $res;
}

10
inc/spipr_educ_definitions_themes.php

@ -1297,6 +1297,16 @@ margin:10px 0 0 0;
),
"type='bloc de base' AND nom='rubrique_menu_rubriques_3_colonnes' AND nom_sauvegarde='en_cours_d_utilisation_SPIPr'"
);
// Paramètres du bloc de présentation des derniers articles en 3 colonnes
sql_updateq(
'spip_spipr_educ',
array(
'parametre2' => '#fff',
'parametre5' => '#fff',
'parametre6' => $couleur1,
),
"type='graphisme' AND nom='sommaire_derniers_articles_3_colonnes' AND nom_sauvegarde='en_cours_d_utilisation_SPIPr'"
);
// Couleur des textes
sql_updateq(
'spip_spipr_educ',

188
inc/spipr_educ_educnat_ajouter_menu_3_colonnes.php

@ -4,7 +4,7 @@ $test_3_colonnes=sql_select('nom','spip_spipr_educ',"type='bloc de base' AND nom
$tab_3_colonnes=sql_fetch($test_3_colonnes);
if ($tab_3_colonnes['nom']!='rubrique_menu_rubriques_3_colonnes') {
// Recherche de la couleur actuelle et du dégradé recommandé pour cette couleur
// Recherche de la couleur actuelle
include_spip('inc/spipr_educ_definitions_themes');
$test_couleur=sql_select('parametre1','spip_spipr_educ',"type='theme' AND nom_sauvegarde='en_cours_d_utilisation_SPIPr'");
$tab_couleur=sql_fetch($test_couleur);
@ -83,8 +83,7 @@ margin:0 0 20px 20px;
}
}
}
}
';
}';
// Création de l'entrée noisette
sql_insertq('spip_spipr_educ',array(
@ -100,4 +99,187 @@ margin:0 0 20px 20px;
'parametre7'=>$code_couleur_lien,
'parametre8'=>$css,
));
}
// Même travail avec la présentation des derniers articles en 3 colonnes en page de sommaire
$test_articles_3_colonnes=sql_select('nom','spip_spipr_educ',"type='bloc de base' AND nom_sauvegarde='en_cours_d_utilisation_SPIPr' AND parametre1='sommaire' AND nom='sommaire_derniers_articles_3_colonnes'");
$tab_articles_3_colonnes=sql_fetch($test_articles_3_colonnes);
if ($tab_articles_3_colonnes['nom']!='sommaire_derniers_articles_3_colonnes') {
// Recherche de la couleur actuelle et l'ensemble des paramètres
include_spip('inc/spipr_educ_definitions_themes');
$test_couleur=sql_select('parametre1','spip_spipr_educ',"type='theme' AND nom_sauvegarde='en_cours_d_utilisation_SPIPr'");
$tab_couleur=sql_fetch($test_couleur);
$couleur=$tab_couleur['parametre1'];
$retour_couleur=spipr_educ_definition_couleurs_theme_educnat($couleur);
$code_couleur=$retour_couleur[0];
$pourcentage_degrade_couleur='10';
$css="/*-- Module 3 colonnes, articles en page de sommaire --*/
#sommaire_derniers_articles_3_colonnes{
display:block;
position:relative;
width:100%;
height:auto;
margin:50px 0;
padding:0;
.container_articles_3_colonnes_titre {
display:block;
position:relative;
width:100%;
height:auto;
margin:0;
padding:0;
}
ul.container_articles_3_colonnes {
display:flex;
flex-wrap: wrap;
justify-content: space-between;
margin:0;
padding:0;
list-style:none;
& > li {
display:flex;
flex-direction: column;
flex-wrap: nowrap;
justify-content: space-between;
align-items:first baseline last baseline;
width:~\"calc((100% - 46px) / 3)\";
@media (min-width:768px) and (max-width:979px) {
width:~\"calc(50% - 12px)\";
}
@media (max-width:767px) {
width:~\"calc(100% - 2px)\";
}
height:auto;
border:1px solid #eaeaea;
margin:0 0 20px 0;
padding:0;
.trois_colonnes_container_haut {
.article_3_colonnes_logo {
width:100%;
height:auto;
margin:0;
padding:0;
a {
margin:0;
padding:0;
img {
width:100%;
height:auto;
margin:0;
padding:0;
}
}
}
.article_3_colonnes_mots_cles_container{
display:block;
position:relative;
margin:18px 17px 26px 17px;
ul.article_3_colonnes_mots_cles{
display:inline-flex;
flex-direction: row;
flex-wrap: wrap;
justify-content: start;
list-style:none;
margin:0;
padding:0;
li {
display: list-item inline;
margin:4px;
padding:0;
border:none;
a {
display: inline-block;
font-size: 16px;
line-height: 16px;
padding: 6px 14px;
color: #333;
background-color:#fff;
border: 2px solid #eaeaea;
border-radius: 28px;
white-space: nowrap;
transition: background-color 400ms, color 400ms;}
a:hover{
text-decoration:none;
color:#fff;}
}
}
}
h3.article_3_colonnes_titre{
margin:20px 25px 8px 25px;
line-height:30px;
font-size:18px;
vertical-align:top;
font-family:'Archive', Arial, Helvetica, sans-serif;
a{color:#333;}
}
.article_3_colonnes_maj{
margin:0 25px;
font-style: italic;
color:#9b9b9b;
font-size:12px;
}
.article_3_colonnes_introduction{
margin:25px;
line-height:26px;
font-size:14px;
vertical-align:top;
}
}
.trois_colonnes_container_bas{
text-align:center;
margin:25px;
a.article_3_colonnes_savoir_plus{
display:inline-flex;
align-self: end;
justify-content: center;
text-align:center;
margin:0;
padding:24px;
width:~\"calc(100% - 48px)\";
text-align:center;
font-weight:600;
transition: background-color 400ms;
}
a.article_3_colonnes_savoir_plus:hover{
text-decoration:none;
}
}
}
}
}";
$p1='Derniers articles';
$p2='#fff';
$p3='6';
$p4='Lire le contenu';
$p5='#fff';
$p6=$code_couleur;
$p7='20';
$p8=$pourcentage_degrade_couleur;
$p9=$css;
// Création de l'entrée noisette
sql_insertq('spip_spipr_educ',array(
'nom'=>'sommaire_derniers_articles_3_colonnes',
'type'=>'bloc de base',
'nom_sauvegarde'=>'en_cours_d_utilisation_SPIPr',
'parametre1'=>'sommaire',
'parametre2'=>'off',
'parametre3'=>'1',
'parametre4'=>'cfg',
));
// Création de l'entrée graphique
sql_insertq('spip_spipr_educ',array(
'nom'=>'sommaire_derniers_articles_3_colonnes',
'type'=>'graphisme',
'nom_sauvegarde'=>'en_cours_d_utilisation_SPIPr',
'parametre1'=>$p1,
'parametre2'=>$p2,
'parametre3'=>$p3,
'parametre4'=>$p4,
'parametre5'=>$p5,
'parametre6'=>$p6,
'parametre7'=>$p7,
'parametre8'=>$p8,
'parametre9'=>$p9,
));
}

3
inc/spipr_educ_educnat_retirer_menu_3_colonnes.php

@ -1,3 +1,4 @@
<?php
// On n'est plus dans le bon thème, on retire la noisette qui ne correspond plus
sql_delete('spip_spipr_educ', "nom_sauvegarde='en_cours_d_utilisation_SPIPr' AND nom='rubrique_menu_rubriques_3_colonnes'");
sql_delete('spip_spipr_educ', "nom_sauvegarde='en_cours_d_utilisation_SPIPr' AND nom='rubrique_menu_rubriques_3_colonnes'");
sql_delete('spip_spipr_educ', "nom_sauvegarde='en_cours_d_utilisation_SPIPr' AND nom='sommaire_derniers_articles_3_colonnes'");

1
lang/spipr_educ_fr.php

@ -168,6 +168,7 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
'sommaire_compteur'=>"Compteur de visites (plugin \"Compteur graphique\")",
'sommaire_spipr_dane_js'=>"Bouton de retour en haut, stop/pause du Caroussel",
'sommaire_acces_restreint'=>"Formulaire de connexion (plugin \"Accès Restreint\")",
'sommaire_derniers_articles_3_colonnes'=>"Derniers articles publiés présentés en 3 colonnes",
'article_menu_navigation'=>"Menu de navigation vertical des rubriques",
'article_recherche'=>"Formulaire de recherche",
'article_breadcrumb'=>"Fil d'ariane SPIPr-édu",

2
paquet.xml

@ -1,7 +1,7 @@
<paquet
prefix="spipr_educ"
categorie="squelette"
version="0.4.35"
version="0.4.37"
etat="stable"
compatibilite="[3.0.0;4.0.*]"
logo="img/spipr_dist-32.png"

5
prive/squelettes/contenu/spipr_educ_configure_bloc.html

@ -71,6 +71,11 @@
<div class="ajax">#FORMULAIRE_SPIPR_EDUC_CONFIGURE_MENU_RUBRIQUES_3_COLONNES</div>
<?php
break;
case 'sommaire_derniers_articles_3_colonnes':
?>
<div class="ajax">#FORMULAIRE_SPIPR_EDUC_CONFIGURE_SOMMAIRE_DERNIERS_ARTICLES_3_COLONNES</div>
<?php
break;
case 'sommaire_dyslexie':
case 'rubrique_dyslexie':
case 'article_dyslexie':

69
themes/educnat/noisettes/sommaire/sommaire_derniers_articles_3_colonnes.html

@ -0,0 +1,69 @@
<BOUCLE_titre_sommaire_derniers_articles_3_colonnes(spipr_educ)
{nom=sommaire_derniers_articles_3_colonnes}
{nom_sauvegarde=en_cours_d_utilisation_SPIPr}
{type=graphisme}>
[(#PARAMETRE1|?{#SET{titreBloc,#PARAMETRE1},#SET{titreBloc,<:derniers_articles:>}})]
[(#PARAMETRE3|?{#SET{nb,#PARAMETRE3},#SET{nb,6}})]
[(#PARAMETRE4|?{#SET{titreBouton,#PARAMETRE4},#SET{titreBouton,'Lire le contenu'}})]
</BOUCLE_titre_sommaire_derniers_articles_3_colonnes>
<BOUCLE_liste_rubs(spipr_educ)
{nom=options_rubriques}
{nom_sauvegarde=en_cours_d_utilisation_SPIPr}
{type=gestion bloc}>
#SET{param1,#PARAMETRE1}
</BOUCLE_liste_rubs>
#SET{listeRubs, #GET{param1}|explode{','}}
<BOUCLE_liste_rubs2(RUBRIQUES) {id_rubrique IN #GET{listeRubs}}>
<BOUCLE_liste_arts(ARTICLES) {id_rubrique} {doublons}>
</BOUCLE_liste_arts>
</BOUCLE_liste_rubs2>
<BOUCLE_liste_arts2(spipr_educ)
{nom=options_articles}
{nom_sauvegarde=en_cours_d_utilisation_SPIPr}
{type=gestion bloc}>
#SET{param01,#PARAMETRE1}
</BOUCLE_liste_arts2>
#SET{listeArts, #GET{param01}|explode{','}}
<BOUCLE_liste_arts3(ARTICLES) {id_article IN #GET{listeArts}} {doublons}>
</BOUCLE_liste_arts3>
<B_principale>
<div id="sommaire_derniers_articles_3_colonnes">
#ANCRE_PAGINATION
[<div class="container_articles_3_colonnes_titre"><h2 class="h2">(#GET{titreBloc})</h2></div>]
<ul class="container_articles_3_colonnes">
<BOUCLE_principale(ARTICLES){lang}{!par date} {doublons} {pagination #GET{nb}}>
<li>
<div class="trois_colonnes_container_haut">
[<div class="article_3_colonnes_logo">
<a href="#URL_ARTICLE">(#LOGO_ARTICLE_RUBRIQUE|image_reduire{768,0})</a>
</div>]
<B_mots_article>
<div class="article_3_colonnes_mots_cles_container">
<ul class="article_3_colonnes_mots_cles">
<BOUCLE_mots_article(MOTS){id_article}{par titre}>
[<li><a href="#URL_MOT">(#TITRE|supprimer_numero)</a></li>]
</BOUCLE_mots_article>
</ul>
</div>
</B_mots_article>
[<h3 class="article_3_colonnes_titre titre"><a href="#URL_ARTICLE">(#TITRE|supprimer_numero)</a></h3>]
<div class="article_3_colonnes_maj">Mis à jour : [(#DATE_MODIF|nom_mois)] [(#DATE_MODIF|annee)]</div>
[<div class="article_3_colonnes_introduction texte">(#INTRODUCTION{500}|textebrut)</div>]
</div>
<div class="trois_colonnes_container_bas">
<a class="article_3_colonnes_savoir_plus" href="#URL_ARTICLE">#GET{titreBouton}</a>
</div>
</li>
</BOUCLE_principale>
</ul>
[<div class="pagination[ (#ALIGNEMENTPAGINATION)]">(#PAGINATION)</div>]
<div class="clearfix"></div>
</div>
</B_principale>
[(#REM) Façon d'éviter les erreurs 404 sur un site nu]
&nbsp;
<//B_principale>
Loading…
Cancel
Save