Information importante
En raison d'un grand nombre d'inscriptions de spammers sur notre site, polluant sans relache notre forum, nous suspendons la création de compte via le formulaire de "sign up".
Il est néanmoins toujours possible de devenir adhérent•e en faisant la demande sur cette page, rubrique "Inscription" : https://www.drupal.fr/contact
De plus, le forum est désormais "interdit en écriture". Il n'est plus autorisé d'y écrire un sujet/billet/commentaire.
Pour contacter la communauté, merci de rejoindre le slack "drupalfrance".
Si vous voulez contacter le bureau de l'association, utilisez le formulaire disponible ici, ou envoyez-nous un DM sur twitter.
Avec le template de la page,
Permalien Soumis par DavP le 23 Juillet, 2009 - 18:27
Avec le template de la page, tu peux en php lui dire d'afficher le bloc que si sa valeur est non nulle.
Je pense qu'un code de ce style devrait faire ce que tu veux:
Ce script ne marche pas.
Permalien Soumis par spasmody le 23 Juillet, 2009 - 19:10
Ce script ne marche pas. J'ai bien mis le code dans mon template node-monnoeud.tpl.php mais les contenus monnoeud affichent toujours les blocs vides. Une explication?
En fait, je me suis trompé
Permalien Soumis par DavP le 23 Juillet, 2009 - 19:29
En fait, je me suis trompé et j'avais mal compris ton problème, je t'ai donné un code qui va dans les templates de bloc block.tpl.php ...
Ceci dit, peux-tu détailler ton problème parce que j'ai peut-être pas du bien tout comprendre ...
En tout cas, si en fait, c'est un bloc que tu as défini dans ton fichier .info et qui a un nom particulier, par exemple:
regions[mon_bloc] = Mon bloc
Alors il suffit de dire dans ta page template:
Là ça affiche le bloc si et seulement si il existe et est non nul.
non il s'agit bien d'un bloc
Permalien Soumis par spasmody le 23 Juillet, 2009 - 21:08
non il s'agit bien d'un bloc et non d'une region. J'ai essayé de déplacer le script dans mon block.tpl.php mais sans succès. Je me suis peut-être mal expliqué.
J'ai une base de donnée d'artiste. Chaque artiste possède sa page avec un fichier audio affiché dans un bloc contextuel (fourni par views à partir de Filefield dans un contenu 'artiste'). Le fichier est donc affiché dans le bloc 'audio player', lui même affiché dans ma region 'header-top'.
Ma mission est de masquer le player audio (et non la region header-top toute entière) pour les artistes n'ayant pas uploader de fichier audio.
Je pense que c'est maintenant plus clair.
Ok. Tu peux créer un
Permalien Soumis par DavP le 23 Juillet, 2009 - 21:44
Ok. Tu peux créer un template block-header-top.tpl.php ou appliquer ça à tous les blocs dans block.tpl.php.
Dans le template tu mets le code php suivant:
<div id="block-<?php print $block->module .'-'. $block->delta; ?>" class="block block-<?php print $block->module ?>">
<div class="blockinner">
<?php if ($block->subject): ?>
<h2><?php print $block->subject ?></h2>
<?php endif;?>
<?php if ($block->content): ?>
<div class="content">
<?php print $block->content; ?>
</div>
<?php endif;?>
</div>
</div>
Ca affichera un titre si et seulement si il existe pareil pour le contenu.
Dans le cas contraire, ça ne doit rien afficher.
J'ai moi-même déjà utilisé cette astuce pour ne pas afficher les titres de blocs vides. Par exemple, si on ne met pas de titre à un bloc et si on a pas de if pour vérifier l'existence, ça peut afficher par défaut un titre vide:
<h2> </h2>
Avec le if qui force à ce que l'élément existe pour afficher le html, on n'a plus ce soucis.
Si ça ne marche toujours pas, je ne vois vraiment pas comment faire après ...
non seulement ça ne marche
Permalien Soumis par spasmody le 23 Juillet, 2009 - 22:25
non seulement ça ne marche pas mais ça créé un effet indésirable : j'utilise collapsiblock et le script ne permet plus de rendre les blocs qui sont 'collapsed' 'expandable'.
Merci d'avoir essayé. On est peut-être pas si loin avec ce script...
Arnaud
Pas besoin de code pour cette
Permalien Soumis par toto76 le 8 Juin, 2018 - 10:08
Pas besoin de code pour cette étape et c'est plutot simple.
et c'est good ;)