Erreur d’exécution squelettes/sommaire.html | File […]/ecrire/inc/filtres_dates.php Line 114 : Return value of vider_date() must be of the type string, null returned

Bonsoir,

Et merci de cette solidarité si propre à spip…

Je rencontre à nouveau un problème bizarre, au moment de passer de spip 4.1.0 à 4.1.1 cette fois (que je sois en php 7.4, ou en php 8, hébergeur : Nuxit).
Au moment de passer à la version publique de certaines pages, je reçois l’erreur suivante :

Erreur d’exécution squelettes/sommaire.html | File […]/ecrire/inc/filtres_dates.php Line 114 : Return value of vider_date() must be of the type string, null returned

Quand le couteau_suisse est activé, je ne peux plus non plus éditer de pages (en passant, le couteau_suisse ne fonctionne pas sous php8 chez moi ; pour l’utiliser, je suis obligé de rester en 7.4).

Une idée ?

Bon,

je ne dirais rien sur le couteau suisse, ne connaissant pas du tout ce plugin (même si une grosse partie de ses fonctionnalités sont disponibles ailleurs).

Concernant ton message d’erreur, il y a tout lieu de croire que tu appel un filtre de date qui est lui même bugué. Mais il faudrait avoir le contenu de ton squelette sommaire.html pour inspecter plus loins.

Merci @maieul. En voici le code. Ne te moque pas… :blush:

<!-- sommaire = rubrique-24 ! boucle spéciale pour rub51 -->
<BOUCLE_principale(RUBRIQUES){id_rubrique=24}>
    <!DOCTYPE html>
    <html lang="fr">
        <head>
		[(#INCLURE{fond=inc-metas})] 
		[(#INCLURE{fond=inc-titre})] 
		[(#INCLURE{fond=inc-links})] 
		#INSERT_HEAD_CSS 
        </head>
        <body>
            <div class="content-wrapper"> 
			[(#INCLURE{fond=inc-nav,courant="1"})] 
                <section class="wrapper bg-pale-yellow angled lower-start">
                    <div class="container pt-10 pb-19 pt-md-14 pb-md-20 text-center">
                        <div class="row">
                            <div class="col-md-7 col-lg-6 col-xl-5 mx-auto">
                                <h1 class="display-1 mb-3">#TITRE</h1>
                                <p class="lead px-lg-5 px-xxl-8">#DESCRIPTIF 
                                </p>
                            </div>
                        </div>
                    </div>
                </section>
                <section class="wrapper bg-light">
                    <div class="container pb-14 pb-md-16">
                        <div class="row">
                            <div class="col-lg-10 mx-auto">
                                <div class="blog classic-view mt-n17">
                                    <article class="post">
                                        <div class="card">
                                            <div class="position-relative">
                                                <div class="shape bg-dot primary rellax w-17 h-21" data-rellax-speed="1" style="top: -2.5rem; right: -2.7rem; transform: translate3d(0px, -3px, 0px);">
                                                </div>
                                                <figure class="card-img-top overlay overlay-1 hover-scale">
                                                    <a href="?article108">
                                                        <img src="[./IMG/logo/(#LOGO_RUBRIQUE|fichier)]" alt="" /></a>
                                                    <figcaption>
                                                        <h5 class="from-top mb-0">En savoir plus …</h5>
                                                    </figcaption>
                                                </figure>
												[ 
                                                <div class="card-body">
                                                    <div class="post-content">(#TEXTE) 
                                                    </div>
                                                </div>
												] 
                                            </div>
                                    </article>
                                </div>
                                <div class="blog grid grid-view">
                                    <div class="row isotope gx-md-8 gy-8 mb-8">
                                        <BOUCLE_articles_51(ARTICLES) {id_rubrique}{si #ID_RUBRIQUE|=={51}}{par date}{inverse}>
                                            <article class="item post col-md-6">
                                                <div class="card">
                                                    <figure class="card-img-top overlay overlay-1 hover-scale">
                                                        <a href="#URL_ARTICLE">
                                                            <img src="[./IMG/logo/(#LOGO_ARTICLE_RUBRIQUE|fichier)]" alt="" /></a>
                                                        <figcaption>
                                                            <h5 class="from-top mb-0">En savoir plus …</h5>
                                                        </figcaption>
                                                    </figure>
                                                    <div class="card-body">
                                                        <div class="post-header">
                                                            <div class="post-category text-line">
                                                                <a href="#URL_RUBRIQUE" class="hover" rel="category">#TITRE_PARENT</a>
                                                            </div>
                                                            <h2 class="post-title h3 mt-1 mb-3">
                                                                <a class="link-dark" href="#URL_ARTICLE">#TITRE</a></h2>
                                                        </div>
                                                        <div class="post-content">
                                                            <p>[(#INTRODUCTION|couper{100})] 
                                                            </p>
                                                        </div>
                                                    </div>
                                                    <div class="card-footer">
                                                        <ul class="post-meta d-flex mb-0">
                                                            <li class="post-date">
                                                                <i class="uil uil-calendar-alt"></i>
                                                                <span>[(#DATE|jour)] [(#DATE|nom_mois)] [(#DATE|annee)] 
                                                                </span>
                                                            </li>
															[ 
                                                            <li class="post-date">
                                                                <i class="uil uil-sync"></i>
                                                                <span>(#DATE_MODIF|jour) [(#DATE_MODIF|nom_mois)] [(#DATE_MODIF|annee)] 
                                                                </span>
                                                            </li>
															] 
                                                        </ul>
                                                    </div>
                                                </div>
                                            </article>
                                        </BOUCLE_articles_51>
                                        <BOUCLE_articles_ts(ARTICLES) {id_rubrique} {si #ID_RUBRIQUE|!={51}}{par num titre}>
                                            <article class="item post col-md-6">
                                                <div class="card">
                                                    <figure class="card-img-top overlay overlay-1 hover-scale">
                                                        <a href="#URL_ARTICLE">
                                                            <img src="[./IMG/logo/(#LOGO_ARTICLE_RUBRIQUE|fichier)]" alt="" /></a>
                                                        <figcaption>
                                                            <h5 class="from-top mb-0">En savoir plus …</h5>
                                                        </figcaption>
                                                    </figure>
                                                    <div class="card-body">
                                                        <div class="post-header">
                                                            <div class="post-category text-line">
                                                                <a href="#URL_RUBRIQUE" class="hover" rel="category">#TITRE_PARENT</a>
                                                            </div>
                                                            <h2 class="post-title h3 mt-1 mb-3">
                                                                <a class="link-dark" href="#URL_ARTICLE">#TITRE</a></h2>
                                                        </div>
                                                        <div class="post-content">
                                                            <p>[(#INTRODUCTION|couper{100})] 
                                                            </p>
                                                        </div>
                                                    </div>
                                                    <div class="card-footer">
                                                        <ul class="post-meta d-flex mb-0">
                                                            <li class="post-date">
                                                                <i class="uil uil-calendar-alt"></i>
                                                                <span>[(#DATE|jour)] [(#DATE|nom_mois)] [(#DATE|annee)] 
                                                                </span>
                                                            </li>[ 
                                                            <li class="post-date">
                                                                <i class="uil uil-sync"></i>
                                                                <span>(#DATE_MODIF|jour) [(#DATE_MODIF|nom_mois)] [(#DATE_MODIF|annee)] 
                                                                </span>
                                                            </li>] 
                                                        </ul>
                                                    </div>
                                                </div>
                                            </article>
                                        </BOUCLE_articles_ts>#SET{id_parent,#ID_RUBRIQUE} 
                                        <BOUCLE_sous_rubriques(RUBRIQUES) {id_parent} {par num titre}>
                                            <article class="item post col-md-6">
                                                <div class="card">
                                                    <figure class="card-img-top overlay overlay-1 hover-scale">
                                                        <a href="#URL_RUBRIQUE">
                                                            <img src="[./IMG/logo/(#LOGO_ARTICLE_RUBRIQUE|fichier)]" alt="" /></a>
                                                        <figcaption>
                                                            <h5 class="from-top mb-0">En savoir plus …</h5>
                                                        </figcaption>
                                                    </figure>
                                                    <div class="card-body">
                                                        <div class="post-header">
                                                            <div class="post-category text-line">
                                                                <a href="#URL_RUBRIQUE{#GET{id_parent}}" class="hover" rel="category">#TITRE_PARENT</a>
                                                            </div>
                                                            <h2 class="post-title h3 mt-1 mb-3">
                                                                <a class="link-dark" href="#URL_RUBRIQUE">#TITRE</a></h2>
                                                        </div>
                                                        <div class="post-content">
                                                            <p>[(#INTRODUCTION|couper{100})] 
                                                            </p>
                                                        </div>
                                                    </div>
                                                    <div class="card-footer">
                                                        <ul class="post-meta d-flex mb-0">
                                                            <li class="post-date">
                                                                <i class="uil uil-calendar-alt"></i>
                                                                <span>[(#DATE|jour)] [(#DATE|nom_mois)] [(#DATE|annee)] 
                                                                </span>
                                                            </li>[ 
                                                            <li class="post-date">
                                                                <i class="uil uil-sync"></i>
                                                                <span>(#DATE_MODIF|jour) [(#DATE_MODIF|nom_mois)] [(#DATE_MODIF|annee)] 
                                                                </span>
                                                            </li>] 
                                                        </ul>
                                                    </div>
                                                </div>
                                            </article>
                                        </BOUCLE_sous_rubriques>
                                    </div>
                                </div>
                            </div>
                        </div>
                    </div>
                </section>[(#ID_RUBRIQUE|=={24}|?{ 
                <section class="wrapper bg-pale-yellow angled upper-end lower-end">
                    <div class="container py-3 py-md-4">
                        <div class="projects-tiles">
                            <div class="project grid grid-view">
                                <div class="row gx-md-8 gx-xl-12 gy-10 gy-md-12 isotope ">
                                    <div class="item col-md-6 mt-md-7 mt-lg-15">
                                        <div class="project-details d-flex justify-content-center align-self-end flex-column ps-0 pb-0">
                                            <div class="post-header">
                                                <h2 class="display-4 mb-4 pe-xxl-15">Dernières nouvelles </h2>
                                                <p class="lead fs-lg mb-0">L'actualité du 
                                                    <span class="underline-3 style-3 primary"> GreC 
                                                    </span>
                                                </p>
                                            </div>
                                        </div>
                                    </div>
                                    <BOUCLE_der_nouvelles(ARTICLES) {0,3}{branche 24}{par date} {inverse}>
                                        <div class="item col-md-6">
                                            <figure class="lift rounded mb-6">
                                                <a href="#URL_ARTICLE"> [(#LOGO_ARTICLE_RUBRIQUE|image_proportions{500, [(#COMPTEUR_BOUCLE|=={2}|?{400,300})] ,focus}|image_passe_partout{500,[(#COMPTEUR_BOUCLE|=={2}|?{400,300})]})]</a>
                                            </figure>
                                            <div class="post-category text-line mb-3 text-violet">
                                                <a href="#URL_RUBRIQUE">#TITRE_PARENT</a>
                                            </div>
                                            <h2 class="post-title h3">
                                                <a href="#URL_ARTICLE" class="text-dark">#TITRE</a></h2>
                                            <p class="post-content">[(#TEXTE|couper{150,'&nbsp;…'})] 
                                            </p>[(#COMPTEUR_BOUCLE|=={3}|?{ 
                                            <a href="?rubrique51" class="btn btn-green rounded-pill mt-6 mb-0">Toutes les nouvelles 
                                                <i class="uil uil-arrow-right"></i></a>, ''})] 
                                        </div>
                                    </BOUCLE_der_nouvelles>
                                </div>
                            </div>
                        </div>
                    </div>
                </section>,''})] 
                <section class="wrapper bg-light">
                    <div class="container py-14 py-md-16">
                        <div class="row gx-lg-8 gx-xl-12 gy-10 align-items-center">
                            <div class="col-lg-7">
                                <div class="row gx-md-5 gy-5">
                                    <BOUCLE_forum_moodle(SYNDIC_ARTICLES){id_syndic=2}{0,4}>
                                        <div class="col-md-6 [(#COMPTEUR_BOUCLE|=={1}|?{col-xl-5 align-self-end,''})] [(#COMPTEUR_BOUCLE|=={2}|?{align-self-end,''})] [(#COMPTEUR_BOUCLE|=={3}|?{col-xl-5 offset-xl-1,''})] [(#COMPTEUR_BOUCLE|=={4}|?{align-self-start,''})] ">
                                            <div class="card [(#COMPTEUR_BOUCLE|=={1}|?{bg-pale-yellow,''})] [(#COMPTEUR_BOUCLE|=={2}|?{bg-pale-red,''})] [(#COMPTEUR_BOUCLE|=={3}|?{bg-pale-leaf,''})] [(#COMPTEUR_BOUCLE|=={4}|?{bg-pale-blue,''})] ">
                                                <div class="card-body">
                                                    <blockquote class="icon mb-0">
                                                        <p>«&nbsp;#TITRE [(#DESCRIPTIF|couper{100,'&nbsp;…'})]&nbsp;» 
                                                        </p>
                                                    </blockquote>
                                                </div>
                                            </div>
                                        </div>
                                    </BOUCLE_forum_moodle>
                                </div>
                            </div>
                            <div class="col-lg-5">
                                <img src="./squelettes/assets/img/logoGreC.png" style="width:264px;"/>
                                <h2 class="display-4 mb-3 mt-5">Sur les 
                                    <span class="underline-3 style-3 yellow">forums 
                                    </span>du GreC</h2>
                                <p class="lead fs-lg">&larr; Interactions récentes (prov. fictif) 
                                </p>
                                <a href="#" class="btn btn-navy rounded-pill mt-3">Accès aux forums (bientôt)</a>
                            </div>
                        </div>
                </section>
            </div>
			[(#INCLURE{fond=inc-pied-24,courant="1"})] 
            <div class="progress-wrap">
                <svg class="progress-circle svg-content" width="100%" height="100%" viewBox="-1 -1 102 102">
                    <path d="M50,1 a49,49 0 0,1 0,98 a49,49 0 0,1 0,-98" />
                </svg>
            </div>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js" integrity="sha512-894YE6QWD5I59HgZOGReFYm4dnWc1Qt5NtvYSaNcOP+u1T9qYdvdihz0PPSiiqn/+/3e7Jo4EaG7TubfWGUrMQ==" crossorigin="anonymous"></script>
<script src="./squelettes/assets/js/plugins.js"></script>
<script src="./squelettes/assets/js/theme.js"></script>
        </body>
    </html>
</BOUCLE_principale>

les seules balises :

[(#INCLURE{fond=inc-metas})] [(#INCLURE{fond=inc-titre})] [(#INCLURE{fond=inc-links})] #INSERT_HEAD_CSS
[(#INCLURE{fond=inc-nav,courant="1"})]
#TITRE

#DESCRIPTIF
En savoir plus …
[
(#TEXTE)
]
En savoir plus …
#TITRE_PARENT
#TITRE

[(#INTRODUCTION|couper{100})]

    [(#DATE|jour)] [(#DATE|nom_mois)] [(#DATE|annee)]
    [
    (#DATE_MODIF|jour) [(#DATE_MODIF|nom_mois)] [(#DATE_MODIF|annee)]
    ] 

En savoir plus …
#TITRE_PARENT
#TITRE

[(#INTRODUCTION|couper{100})]

    [(#DATE|jour)] [(#DATE|nom_mois)] [(#DATE|annee)]
    [
    (#DATE_MODIF|jour) [(#DATE_MODIF|nom_mois)] [(#DATE_MODIF|annee)]
    ] 

#SET{id_parent,#ID_RUBRIQUE}
En savoir plus …
#TITRE_PARENT
#TITRE

[(#INTRODUCTION|couper{100})]

    [(#DATE|jour)] [(#DATE|nom_mois)] [(#DATE|annee)]
    [
    (#DATE_MODIF|jour) [(#DATE_MODIF|nom_mois)] [(#DATE_MODIF|annee)]
    ] 

[(#ID_RUBRIQUE|=={24}|?{
Dernières nouvelles

L'actualité du GreC
[(#LOGO_ARTICLE_RUBRIQUE|image_proportions{500, [(#COMPTEUR_BOUCLE|=={2}|?{400,300})] ,focus}|image_passe_partout{500,[(#COMPTEUR_BOUCLE|=={2}|?{400,300})]})]
#TITRE_PARENT
#TITRE

[(#TEXTE|couper{150,' …'})]
[(#COMPTEUR_BOUCLE|=={3}|?{ Toutes les nouvelles , ''})]
,''})]

    « #TITRE [(#DESCRIPTIF|couper{100,' …'})] »

Sur les forums du GreC

← Interactions récentes (prov. fictif)
Accès aux forums (bientôt)
[(#INCLURE{fond=inc-pied-24,courant="1"})]

Trouvé ! :blush:
Il semble que depuis le passage de la version 4.1.0 à la version 4.1.1 (que ce soit en PHP 7.4 ou 8), il ne soit plus possible d’assortir la balise #DATE_MODIF d’un filtre de formatage. Avec #DATE par contre, ça continue de fonctionner comme avant.
Donc, par exemple, les expressions suivantes causent une erreur :

[(#DATE_MODIF|jour)] 
[(#DATE_MODIF|nom_mois)] 
[(#DATE_MODIF|annee)]

En passant,

  1. existe-t-il un moyen de faire passer un fil en mode « résolu »
  2. inspiré par @maieul, j’ai définitivement désinstallé le couteau_suisse et remplacé les qqs lames dont j’avais besoin par des plugins plus simples
  3. les squelettes de ce génial forum sont-ils publics ? :blush:

Bon week-end !

  1. C’est chelou, mais dans tous les cas c’est un autre fil à créer je pense (et faudrait préciser l’erreur !).
  2. Le présent site n’utilise pas SPIP, mais https://www.discourse.org/

Bjr @maieul et merci de ces nouvelles réponses.
Pas certain d’avoir compris à quel point de mon dernier message ton « 1 » répond.
Si tu te réfères à mes #DATE_MODIF, c’est bien l’erreur : [(#DATE|jour)] fonctionne, [(#DATE_MODIF|jour)] pas.
Si tu te réfères au « résolu », je me demandais juste s’il était possible d’ajouter un flag style « résolu » quand on intervient sur ce forum.
Encore merci, en tout cas ! :slightly_smiling_face: