Deprecated: Function set_magic_quotes_runtime() is deprecated in /var/www/sda/3/a/fredomkb/forum/include/common.php on line 59

Warning: Cannot modify header information - headers already sent by (output started at /var/www/sda/3/a/fredomkb/forum/include/common.php:59) in /var/www/sda/3/a/fredomkb/forum/header.php on line 41

Warning: Cannot modify header information - headers already sent by (output started at /var/www/sda/3/a/fredomkb/forum/include/common.php:59) in /var/www/sda/3/a/fredomkb/forum/header.php on line 42

Warning: Cannot modify header information - headers already sent by (output started at /var/www/sda/3/a/fredomkb/forum/include/common.php:59) in /var/www/sda/3/a/fredomkb/forum/header.php on line 43

Warning: Cannot modify header information - headers already sent by (output started at /var/www/sda/3/a/fredomkb/forum/include/common.php:59) in /var/www/sda/3/a/fredomkb/forum/header.php on line 44
Projets pour Spip et PunBb / Supression automatique des blocs si ils sont vides

MiniGriSpip

Petit site de test et de démonstration du squelette MiniGriSpip 1.6...
Accueil du site > Accueil forums > Squelette MiniGriSpip > Supression automatique des blocs si ils sont vides
Projets pour Spip et PunBb - Petit forum de discussion autour de quelques projets personnels pour SPIP et PunBb.
     

Annonce

Bonjour et bienvenue sur les forums techniques de MiniGriSpip :-)

Quelques liens : Et Mgs alors ? - Balise #TMP - MiniGriSpip 1.6 - Mise-à-jour Calendrier

IMPORTANT : La participation à ces forums est strictement réservée aux membres inscrits, merci de votre compréhension.

ATTENTION : L'inscription au forum est désormais fermée pour cause de spams en trop grande quantité.

01/03/2011 - FredoMkb

  • Supression automatique des blocs si ils sont vides

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /var/www/sda/3/a/fredomkb/forum/include/parser.php on line 552

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /var/www/sda/3/a/fredomkb/forum/include/parser.php on line 553

#1 30-06-2007 08:27:14

Sylvain
Invité

Supression automatique des blocs si ils sont vides

Bonjour,

Bravo pour ce squelette;-) top

Comment peut on faire pour que les blocs vides (quand un article n'a pas d'image ou de commentaire) n'apparaisse pas du tout sur les pages du site?

Merci

 

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /var/www/sda/3/a/fredomkb/forum/include/parser.php on line 552

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /var/www/sda/3/a/fredomkb/forum/include/parser.php on line 553

#2 05-07-2007 14:12:20

Sebasalex
Adepte
Date d'inscription: 04-04-2007
Messages: 55

Re: Supression automatique des blocs si ils sont vides

Bonjour,

Je suppose qu'il suffit de supprimer le bloc où il y a le commentaire :

Code:

<!-- Si aucun article, alors on affiche un message d'information -->

(ce commentaire se trouve dans le fichier "inc-article.html" {répertoire inc/})

Cordialement,

Sebasalex

Hors ligne

 

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /var/www/sda/3/a/fredomkb/forum/include/parser.php on line 552

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /var/www/sda/3/a/fredomkb/forum/include/parser.php on line 553

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /var/www/sda/3/a/fredomkb/forum/include/parser.php on line 552

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /var/www/sda/3/a/fredomkb/forum/include/parser.php on line 553

#3 05-07-2007 20:51:09

Job
Modérateur
Date d'inscription: 05-11-2006
Messages: 97

Re: Supression automatique des blocs si ils sont vides

Bonjour,

Je ne suis pas tout a fait d'accord avec toi seb, il faudrait plutot faire appel a un filtre qui renverrait un e noisette différentes si le nombre de réponse du bloc est égale à 0.

Là je n'ai pas le temps.
J'essayerais de vous proposer quelque chose mardi a moins que quelqu'un me précède

A+
Job


Lorsque vous demandez de l'aide, Essayer d'etre le plus exhaustif possible
En précisant notamment votre version de SPIP et de MGS

Hors ligne

 

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /var/www/sda/3/a/fredomkb/forum/include/parser.php on line 552

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /var/www/sda/3/a/fredomkb/forum/include/parser.php on line 553

#4 06-07-2007 08:37:46

Sebasalex
Adepte
Date d'inscription: 04-04-2007
Messages: 55

Re: Supression automatique des blocs si ils sont vides

Bonjour,

Si je comprend bien, Job, il faudrait afficher quelque chose "d'invisible", d'inexistant (juste le bloc sans aucun texte ni rien qui s'affiche ...) ?

Cordialement,

Sebasalex

Hors ligne

 

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /var/www/sda/3/a/fredomkb/forum/include/parser.php on line 552

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /var/www/sda/3/a/fredomkb/forum/include/parser.php on line 553

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /var/www/sda/3/a/fredomkb/forum/include/parser.php on line 492

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /var/www/sda/3/a/fredomkb/forum/include/parser.php on line 537

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /var/www/sda/3/a/fredomkb/forum/include/parser.php on line 537

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /var/www/sda/3/a/fredomkb/forum/include/parser.php on line 537

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /var/www/sda/3/a/fredomkb/forum/include/parser.php on line 537

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /var/www/sda/3/a/fredomkb/forum/include/parser.php on line 537

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /var/www/sda/3/a/fredomkb/forum/include/parser.php on line 614

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /var/www/sda/3/a/fredomkb/forum/include/parser.php on line 552

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /var/www/sda/3/a/fredomkb/forum/include/parser.php on line 553

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /var/www/sda/3/a/fredomkb/forum/include/parser.php on line 537

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /var/www/sda/3/a/fredomkb/forum/include/parser.php on line 537

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /var/www/sda/3/a/fredomkb/forum/include/parser.php on line 537

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /var/www/sda/3/a/fredomkb/forum/include/parser.php on line 537

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /var/www/sda/3/a/fredomkb/forum/include/parser.php on line 537

#5 07-07-2007 14:45:17

FredoMkb
Guide
Date d'inscription: 01-11-2006
Messages: 372
Site web

Re: Supression automatique des blocs si ils sont vides

Bonjour Sylvain et bienvenue, bonjour à tous smile

Sylvain a écrit:

Comment peut on faire pour que les blocs vides (quand un article n'a pas d'image ou de commentaire) n'apparaisse pas du tout sur les pages du site?

La prochaine version du squelette proposera par défaut cette option, mais dans la version actuelle ceci n'est pas vraiment souhaitable, même si celà reste tout-à-fait faisable, je m'explique pourquoi :

Chaque page du squelette propose une petite barre horizontale de navigation au sommet de la colonne des contenus, histoire d'afficher rapidement le contenu qu'on désire consulter.

Or, ces liens, sur la barre de navigation, pointent justement sur les différents blocs correspondants, si jamais on supprime ces blocs, vides ou pas d'ailleurs, ces liens seront morts et donc inutiles.

J'ai pas mal cherché pour rendre cette barre de navigation dynamique, c'est à dire qu'elle adapte son contenu par rapport aux blocs rééllement présents, mais je n'avais pas trouvé de solution efficace lors du développement de la version 1.6 de Mgs, c'est pourquoi j'ai opté par afficher ces blocs en toute occasion, en y insérant une petite phrase d'info lorsqu'il n'y avait aucun contenu à afficher, histoire que les liens restent toujours utilisables.

Bref, j'ai fini par trouver une solution, grâce à JavaScript, pour rendre la barre de navigation dynamique, mais ce système n'est pas encore tout-à-fait optimisé, il le sera pour la prochaine version du squelette, qui devrait sortir, si tout va bien, courant le mois de septembre prochain.

Voilà, il reste toujours possible de supprimer les blocs vides, tout simplement en supprimant la dernière partie des boucles des fichiers inclus, par exemple, sur le fichier Html nommé "inc-documents.html", il suffit de supprimer la partie suivante :

Code:

 <!-- Si aucun document, alors on affiche un message d'information -->
<div class="mgs_bloc">
    <div class="mgs_picto mgs_picto_doc"></div>
    <ul class="general">
        <li class="mgs_menu_titre"><:mgs_aucun_document:></li>
    </ul>
</div>
<//B_liste_documents>

C'est à dire, la partie optionnelle de la boucle si aucun contenu n'a été trouvé, et ceci est à refaire sur les boucles des différents fichiers inclus dans les pages principales du squelette.

Il y a peut-être aussi d'autres solutions possibles à envisager, comme celle évoquée par Job, mais le problème des liens dans la barre de navigation reste toujours assez épineux à résoudre... si vous avez des idées sans utiliser JavaScript, je suis évidemment intéressé wink

Voilà... bon courage, tiens-nous au courant Stp... à+ smile


Fredo d;o)
"Un pas à la fois me suffit..." (Gandhi)

Hors ligne

 

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /var/www/sda/3/a/fredomkb/forum/include/parser.php on line 552

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /var/www/sda/3/a/fredomkb/forum/include/parser.php on line 553

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /var/www/sda/3/a/fredomkb/forum/include/parser.php on line 552

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /var/www/sda/3/a/fredomkb/forum/include/parser.php on line 553

#6 17-07-2007 17:16:37

rems
Novice
Date d'inscription: 06-04-2007
Messages: 15

Re: Supression automatique des blocs si ils sont vides

Bonjour / bonsoir,
Je comprends les arguments de Fredo. Pour ma part, dans le but de ne pas charger les pages, j'ai supprimé les blocs correspondants et les liens dans la barre de navigation, et ce dans toutes les pages du squelettes : il n'y en a pas tant que ça et ce genre de manip nous permet toujours un peu plus d'assimiler l'architecture des pages du squelettes et de remercier encore une fois leur auteur pour leur clareté.
A bon entendeur...


Samuel REMOUE
PRTIC en Collège
Nancy - Lorraine

Hors ligne

 

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /var/www/sda/3/a/fredomkb/forum/include/parser.php on line 552

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /var/www/sda/3/a/fredomkb/forum/include/parser.php on line 553

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /var/www/sda/3/a/fredomkb/forum/include/parser.php on line 537

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /var/www/sda/3/a/fredomkb/forum/include/parser.php on line 537

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /var/www/sda/3/a/fredomkb/forum/include/parser.php on line 537

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /var/www/sda/3/a/fredomkb/forum/include/parser.php on line 537

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /var/www/sda/3/a/fredomkb/forum/include/parser.php on line 537

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /var/www/sda/3/a/fredomkb/forum/include/parser.php on line 614

#7 17-07-2007 22:15:17

Job
Modérateur
Date d'inscription: 05-11-2006
Messages: 97

Re: Supression automatique des blocs si ils sont vides

Bonjour,

Je propose mon début de solution pour supprimer par exemple le bloc image s'il n'y a pas d'image
il faut remplacer dans article.html

Code:

<INCLURE{fond=inc/inc-images}{id_article}{lang}>

Par

Code:

        
<BOUCLE_test_images(DOCUMENTS) {id_rubrique ?} {id_article ?} {extension==jpg|png|gif} ></BOUCLE_test_images>
[(#GRAND_TOTAL|=={0}|?{'',<INCLURE{fond=inc/inc-images}{id_article}{lang}>})]<//BOUCLE_test_images>

Attention je ne l'ai pas testé
elle s'appuie sur 2 filtres de tests |== et |? (documentation des filtres

A+
Job


Lorsque vous demandez de l'aide, Essayer d'etre le plus exhaustif possible
En précisant notamment votre version de SPIP et de MGS

Hors ligne

 

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /var/www/sda/3/a/fredomkb/forum/include/parser.php on line 552

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /var/www/sda/3/a/fredomkb/forum/include/parser.php on line 553

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /var/www/sda/3/a/fredomkb/forum/include/parser.php on line 492

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /var/www/sda/3/a/fredomkb/forum/include/parser.php on line 537

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /var/www/sda/3/a/fredomkb/forum/include/parser.php on line 537

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /var/www/sda/3/a/fredomkb/forum/include/parser.php on line 537

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /var/www/sda/3/a/fredomkb/forum/include/parser.php on line 537

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /var/www/sda/3/a/fredomkb/forum/include/parser.php on line 537

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /var/www/sda/3/a/fredomkb/forum/include/parser.php on line 614

#8 18-07-2007 07:28:36

FredoMkb
Guide
Date d'inscription: 01-11-2006
Messages: 372
Site web

Re: Supression automatique des blocs si ils sont vides

Salut Job smile

Job a écrit:

Je propose mon début de solution pour supprimer par exemple le bloc image s'il n'y a pas d'image il faut remplacer dans article.html

Code:

<INCLURE{fond=inc/inc-images}{id_article}{lang}>

Par

Code:

        
<BOUCLE_test_images(DOCUMENTS) {id_rubrique ?} {id_article ?} {extension==jpg|png|gif} ></BOUCLE_test_images>
[(#GRAND_TOTAL|=={0}|?{'',<INCLURE{fond=inc/inc-images}{id_article}{lang}>})]<//BOUCLE_test_images>

Attention je ne l'ai pas testé
elle s'appuie sur 2 filtres de tests |== et |? (documentation des filtres

Ha oui, ça a l'air intéressant... top ... dès que j'aurais un moment je regaderais si ça fonctionne bien...

Merci Job smile


Fredo d;o)
"Un pas à la fois me suffit..." (Gandhi)

Hors ligne

 
  • Supression automatique des blocs si ils sont vides

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Suivre la vie du site RSS 2.0 | SPIP | Mgs MGS |