Une petite condition à placer... mais où ?

Eléphant du PHP | 82 Messages

11 mai 2010, 15:58

Bonjour, j'ai le code suivant :

Code : Tout sélectionner

<div class="<?php print "block block-$block->module" ?>" id="<?php print "block-$block->module-$block->delta"; ?>"> <div class="title"> <h3><?php print $block->subject ?></h3> </div> <div class="content"><?php print $block->content ?></div> </div>
Il affiche donc un titre suivi d'un contenu... mon problème, c'est que je ne voudrais afficher QUE du contenu si l'id (contenu dans le premier div) est égal à "$custom"

J'ai essayé de placer :

Code : Tout sélectionner

<?php if ($custom): ?> <?php endif; ?>
un peu partout, ou encore juste le if ($custom) (ou if (!($custom)) selon le cas) mais je n'ai pas réussi ce que je veux...

Cette petite condition me fait péter les plombs... si quelqu'un a une réponse, merci d'avance =)

ViPHP
fab
ViPHP | 2657 Messages

11 mai 2010, 16:30

<?php if($id == $custom) : ?>
non?
Seul l'intelligent a le pouvoir de se trouver con
try { work(); } catch(FlemmeExeption $e) { sleep(84600); }

Eléphant du PHP | 82 Messages

11 mai 2010, 16:33

Peux-tu me l'inclure dans le code ? Merci =)

Edit : j'ai essayé ça mais ça ne marche pas non plus :

Code : Tout sélectionner

<?php if($id == $custom) : ?> <div class="<?php print "block block-$block->module" ?>" id="<?php print "block-$block->module-$block->delta"; ?>"> <div class="content"><?php print $block->content ?></div> </div> <?php else : ?> <div class="<?php print "block block-$block->module" ?>" id="<?php print "block-$block->module-$block->delta"; ?>"> <div class="title"> <h3><?php print $block->subject ?></h3> </div> <div class="content"><?php print $block->content ?></div> </div> <?php endif; ?>

ViPHP
ViPHP | 5462 Messages

11 mai 2010, 16:55

quand tu parles de l'"id" c'est l'id HTML de la div ?

Eléphant du PHP | 82 Messages

11 mai 2010, 16:58

Oui oui

ViPHP
ViPHP | 5462 Messages

11 mai 2010, 17:06

Oui oui
et dans ton code l'id est égale a ?

Eléphant du PHP | 82 Messages

11 mai 2010, 17:09

à :

Code : Tout sélectionner

<?php print "block-$block->module-$block->delta"; ?>

ViPHP
ViPHP | 5462 Messages

11 mai 2010, 17:11

donc
if($custom == "block-$block->module-$block->delta")

Eléphant du PHP | 82 Messages

11 mai 2010, 17:16

Tu peux me l'inclure dans le code stp ?

J'ai essayé :

Code : Tout sélectionner

<?php if($custom == "block-$block->module-$block->delta") : ?> <div class="<?php print "block block-$block->module" ?>" id="<?php print "block-$block->module-$block->delta"; ?>"> <div class="content"><?php print $block->content ?></div> </div> <?php else : ?> <div class="<?php print "block block-$block->module" ?>" id="<?php print "block-$block->module-$block->delta"; ?>"> <div class="title"> <h3><?php print $block->subject ?></h3> </div> <div class="content"><?php print $block->content ?></div> </div> <?php endif; ?>
Mais ça marche pas

Voici ce que j'essaie de faire : sur le site : http:/www.i-mediaservices.com (j'enlève le site une fois résolu si ça pose problème) je veux enlever le titre "Accueil" en dessous du menu "accueil, contact" etc.

C'est Drupal, un CMS comme Joomla et compagnie. en fait l'affichage est composé de blocs qui sont gérés par le code que j'ai mis en premier post, avec un titre (précédé d'une icone) et un contenu.

Et ce bloc a l'id "custom". Donc pour ce bloc je ne voudrais afficher que le contenu... CMS pourri ! en dev classique ce serait réglé depuis deux secondes (contraintes obligatoires...)

ViPHP
ViPHP | 5462 Messages

11 mai 2010, 17:29

c'est custom alors rien avoir avec $custom (je pensais que t'avais un variable avant)
if("custom" == "block-$block->module-$block->delta")

Eléphant du PHP | 82 Messages

11 mai 2010, 23:41

Aïe... excuse moi, j'ai écris vite, ça reste une variable, $custom et non custom...

ViPHP
ViPHP | 5462 Messages

11 mai 2010, 23:51

Aïe... excuse moi, j'ai écris vite, ça reste une variable, $custom et non custom...
non

Eléphant du PHP | 82 Messages

12 mai 2010, 09:10

Comment ça non :?:

Tu dis ça parce que tu connais Drupal (moi je débute dessus) et que t'es sûr ou... ?

Donc le code c'est ça ? :

Code : Tout sélectionner

<?php if(custom == "block-$block->module-$block->delta") : ?> <div class="<?php print "block block-$block->module" ?>" id="<?php print "block-$block->module-$block->delta"; ?>"> <div class="content"><?php print $block->content ?></div> </div> <?php else : ?> <div class="<?php print "block block-$block->module" ?>" id="<?php print "block-$block->module-$block->delta"; ?>"> <div class="title"> <h3><?php print $block->subject ?></h3> </div> <div class="content"><?php print $block->content ?></div> </div> <?php endif; ?>
Edit : nop, ça ne marche toujours pas =( j'ai essayé en mettant != au lieu de == mais là tous les titres disparaissent, pas que le titre du bloc ayant l'id custom...

Edit 2 : je pense que la condition php doit être un peu plus imbriquée, du côté du "title" ?

Edit 3 (:P) : j'ai essayé ce code :

Code : Tout sélectionner

<div class="<?php print "block block-$block->module" ?>" id="<?php print "block-$block->module-$block->delta"; ?>"> <div class="content"><?php print $block->content ?></div> </div> <?php else : ?> <div class="<?php print "block block-$block->module" ?>" id="<?php print "block-$block->module-$block->delta"; ?>"> <?php if(custom != "block-$block->module-$block->delta") : ?> <div class="title"> <h3><?php print $block->subject ?></h3> </div> <div class="content"><?php print $block->content ?></div> </div>
Et ça marche PRESQUE : le bloc s'affiche une première fois sans le titre mais une fois avec, juste en dessous...

Edit 4 : en fait, tous les blocks s'affichent en double... une fois sans le titre, une fois avec...

ViPHP
ViPHP | 5462 Messages

12 mai 2010, 10:10

normal dans ta condition custom ca veux rien dire
<?php if(custom == "block-$block->module-$block->delta") : ?>
tu fais une comparaison avec une constante, c'est dois être fait avec une chaine
<?php if('custom' == "block-$block->module-$block->delta") : ?>
mais bon ca marchera jamais puisque la chaine est du type block-truc-bidule sauf si tu compares avec 'block-truc-custom' (par exemple)

Eléphant du PHP | 82 Messages

12 mai 2010, 10:23

Donc faut trouver autre chose ou ça sert à rien ?