SPIP-Contrib

SPIP-Contrib

عربي | Deutsch | English | Español | français | italiano | Nederlands

286 Plugins, 197 contribs sur SPIP-Zone, 246 visiteurs en ce moment

Accueil > Squelettes > Outils pour squelettes > Squelette conditionnel

Squelette conditionnel

3 février 2005 – par Fil, James

* Il manque les conditionnelles (« pas d’article à cette adresse »)
dans les squelettes par défaut ; rendre une page vide, c’est pas top,
on devrait peut-être ajouter un <include(404.php3)>.

Cette entrée de la TodoListe me tarabiscotte depuis un moment.
On devrait ajouter ? Qu’à cela ne tienne, ajoutons !

* Il manque les conditionnelles (« pas d’article à cette adresse »)
dans les squelettes par défaut ; rendre une page vide, c’est pas top,
on devrait peut-être ajouter un <include(404.php3)>.

Cette entrée de la TodoListe me tarabiscotte depuis un moment.
On devrait ajouter ? Qu’à cela ne tienne, ajoutons !

1. Créer le fichier 404.php3 :

<?php
header("HTTP/1.1 404 Not found");
header("Status: 404 Not found");
$fond = "404";
$delais = 0;
$flag_preserver = true;

include ("inc-public.php3");

?>

2. Créer le fichier 404-dist.html :

3. Ajouter le filtre non_publie dans mes_fonctions.php3 :

4. Ajouter les codes manquants dans ecrire/lang/local_fr.php3 :

5. Dans tous les squelettes *-dist.html,
modifier la fin de chaque fichier :

</body>
</html>
</BOUCLE_<objet>_principal>

<:aucun_<objet>:><INCLURE(404.php3){id_<objet>}><//B_<objet>_principal> [1]

5bis. Pour éviter d’avoir 2 déclarations de DOCTYPE, ajouter au début de chaque fichier *-dist.html :

<B_<objet>_principal>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<BOUCLE_<objet>_principal(<OBJETS>) {id_<objet>}>

Attention ! Pour site-dist.html ce n’est pas la peine de se fatiguer, il n’est pas construit de la même manière et tient déjà compte du problème. On pourrait s’amuser à le réecrire entièrement...

6. S’arranger pour que les boutons d’administration n’apparaissent pas si l’id_<objet> n’existe pas dans la base.

C’est la raison de la présence de la ligne :
$flag_preserver = true; dans le fichier 404.php3 et de l’absence de la balise #FORMULAIRE_ADMIN dans le squelette.

Pour être plus fin, il faudrait, par exemple dans inc-admin.php3, modifier la fonction afficher_boutons_admin() pour qu’elle n’affiche QUE le bouton ’recalculer cette page’... Mais cela nous oblige à modifier le noyau, et pour si peu, ce serait balot...

7. S’assurer de la non-prise en compte du hit dans les statistiques... Pas de mystère, c’est une modification du code qui nous attend. Aussi, considérons que ce dernier point est facultatif. Dans inc-stats.php3, dans la fonction ecrire_stats() :

        else {
                $log_type = "autre";
                $log_id_num = 0;
        }

        // Conversion IP 4 octets -> entier 32 bits

7. Si vous y tenez, Le fichier .htaccess à la racine de votre site pourra contenir :

ErrorDocument 404 404.php3

8. Un bonheur n’arrivant jamais seul, la gestion des « erreurs » de ce type est intégré à la version 1.8

Notes

[1bien coller les balises, sans caractères supplémentaires, pour éviter l’envoi de caractères au navigateur avant l’envoi d’une entête, dixit Déesse A. qui a bien raison ;-)

Dernière modification de cette page le 27 mai 2007

Retour en haut de la page
Retour en haut de la page

Ça discute par ici

  • Metas +

    3 décembre – commentaires

    Améliorez l’indexation de vos articles dans les moteurs et leur affichage sur les réseaux sociaux grâce aux métadonnées Dublin Core, Open Graph et Twitter Card. Installation Activer le plugin dans le menu dédié. Dans le panel de configuration, (...)

  • Critère {mots}

    6 août 2009 – 316 commentaires

    Permettre de sélectionner facilement des objets SPIP ayant un ou des mots clefs en communs.

  • LinkCheck : vérificateur de liens

    13 février 2015 – 64 commentaires

    Ce plugin permet de chercher et tester l’ensemble des liens présents dans les objets. Vous pourrez donc en quelques clics connaître les liens brisés ou défectueux qui se sont immiscés dans le contenu de votre site SPIP. La vérification s’effectue en (...)

  • Import ICS 2 (agenda distant)

    2 août – 39 commentaires

    La version 2 du plugin « import ICS » en reprend la principale fonctionnalité, à savoir l’ajout automatique d’évènements distants dans la liste des évènements d’un site. À la différence de la première version, elle ne dépend pas du plugin « Séminaire » et est (...)

  • GIS 4

    11 août 2012 – 1286 commentaires

    Présentation et nouveautés La version 4 de GIS abandonne la libraire Mapstraction au profit de Leaflet. Cette librairie permet de s’affranchir des librairies propriétaires tout en gardant les mêmes fonctionnalités, elle propose même de nouvelles (...)