[php] problème d'images

problème d'images [php] - PHP - Programmation

Marsh Posté le 11-05-2008 à 15:45:49    

Bonjour à tous  :) ,
 
Enfin je me lance dans la création d'un thème pour une futur site perso  :(  
 
Trops galère, mais existant aussi ...
 
Ayant des notions très très très vague du language PHP, j'ai chois un KIT Graphique appelé KWSPHP ...  
 
J'ai télécharger sur leur site un "thème" appelé VIDE.
 
Là j'ai commencé à "créer" (en toute modestie) mon thème.  
J'ai compris pas mal de choses ... enfin presque  :heink:  
 
Cependant j'aimerai obtenir le même effet sur les bloc_titre que sur le site de KWSPHP (cf. le lien : http://koogar.alorys-hebergement.com/kwsphp/index.php)
 
Je m'explique.  
Dans tous les thèmes fournis sur KWSPHP les bloc_titre ont les mêmes fond ou images. (cf. http://img233.imageshack.us/img233/1842/screenidemas6.th.jpg )
 
Hors sur leur site les bloc_titre sont différents suivant le module utilisés. (cf. colonne gauche on peut voir les titres : MENU (orange) - POPULARITE (vert) - STATISTIQUES (mauve) etc ...  http://img293.imageshack.us/img293/8272/screendifferentqw1.th.jpg)
 
La question est comment fait-on ?
 
comment faire pour que le titre de chaque bloc contenant un module particulier soit une image spécifique. Comme sur le site KWSPHP. Car les thèmes fournis sont tels que le titre a la même image ou fond seul le titre écrit change ...
 
les fichiers PHP et le CSS + 2 dossiers images :
 
http://membres.lycos.fr/neopreine/projet/vide
 
Merci d'avance de toutes l'aide que vous pourriez m'apporter :wahoo:  
 

Reply

Marsh Posté le 11-05-2008 à 15:45:49   

Reply

Marsh Posté le 11-05-2008 à 16:05:45    

KWSPHP c'est un CMS pas un thème, je ne connais pas du tout la structure de leur thème et je doute que quelqu'un d'içi puisse te renseigner.  
Ils ont un forum de support, pourquoi ne pas poser cette question la bas, c'est tout de même plus logique et tu auras bien plus de chance d'avoir une réponse.


Message édité par masterpsx le 11-05-2008 à 16:05:55
Reply

Marsh Posté le 11-05-2008 à 16:19:44    

car c'est un thème propre à kwsphp
 
tu penses bien que je leur ai déjà posé la question  :)  
 
mais là c'est de la programmation c'est pour cela que je me suis naturellement tourné vers vous  :wahoo:

Reply

Marsh Posté le 11-05-2008 à 17:53:03    

Ben justement c'est bien ca le problème c'est propre a KWSPHP, sans le connaitre vraiment c'est difficile de te répondre ou du moins d'être suffisement précis si tu n'as que quelques notions de PHP.
 
Si je te dis qu'il suffit d'utiliser la variable qui correspond au titre du block et de nommer une image avec le même nom puis d'utiliser une balise d'image au lieu d'un texte  
(ex : <img src="images/<?php echo $block_titre; ?>.jpg" /> ), je suppose que ca t'aide pas beaucoup et pourtant c'est la réponse à ta question.


Message édité par masterpsx le 11-05-2008 à 17:53:21
Reply

Marsh Posté le 11-05-2008 à 18:29:22    

en fait si cela m'aide un peu  
 
mais c'est structurer le tout qui me pose problème
 
car je me doute qu'il faut que l'image corresponde au module demandé.
 
Dans ma petite tête j'avais imaginer qu'il faudrait utiliser les if()
 
Je m'explique :
 
Si le module du bloc_contenu est "membre" alors le bloc_titre affiche l'image espace_membre.png et ainsi de suite
 
Car actuellement il y a un bloc_titre pour n'importe quel bloc_contenu
 
//************ BLOC ************//
// DESCRIPTION : fonction bloc, contenant un titre, et un contenu.
// POUR : menus gauche et droite du site
// COMMENT LE RECONNAITRE : Ce sont ceux qui apparaissent avec un fond vert (lime)
// MODIFICATION : vous pouvez modifier la couleur dans la balise "background-color=#votrecouleur" de la premiere balise <div>
function bloc ($titre, $contenu) {
 echo '
 <div class="bloc">
 <div class="bloc_titre"><!-- Titre du bloc -->'.$titre.'<br /></div>
 <div class="bloc_contenu">'.$contenu.'</div>
 <div class="bloc_footer"></div>
 </div><br />
 <!--  Fin de bloc latéral-->' ;
}
//************ FIN BLOC ************//

Reply

Marsh Posté le 11-05-2008 à 21:53:26    

Code :
  1. function bloc ($titre, $contenu) {
  2. $img_titre = "images/" . $titre . ".png";
  3. if (is_file($img_titre)) $titre = '<img src="' . $img_titre . '" alt="" />';
  4. echo '


Faut que tu completes la fonction avec le reste évidement, en gros si l'image existe le titre affiche l'image sinon le texte, il faut donc que tu crée des images png avec les titres correspondants, par exemple : Menu.png ou encore Forum.png dans le répertoire images de ton thème, évite les accents ou les espaces et attention au majuscule/minuscule.

Reply

Marsh Posté le 12-05-2008 à 10:41:06    

merci beaucoup  :love:  
 
voici ce que cela donne :
 
function bloc ($titre, $contenu) {
 $img_titre = "images/" . $titre . ".png";
             if (is_file($img_titre)) $titre = '<img src="' . $img_titre . '" alt="" />';
 
 echo '
 <div class="bloc">
 <div class="bloc_titre"><!-- Titre du bloc -->'.$titre.'<br /></div>
 <div class="bloc_contenu">'.$contenu.'</div>
 <div class="bloc_footer"></div>
 </div><br />
 
ai-je bon ?
 
1 / ensuite j'ai créé des images .png
 
2/ je les ai enregistré dans le dossier "images"
 
3/ et leur ai donné le nom des modules : menu.png ; forum.png ; espace_membre.png ; etc ...
 
et là cela ne fonctionne pas :(


Message édité par neopreine le 12-05-2008 à 12:11:17
Reply

Marsh Posté le 12-05-2008 à 12:28:56    

le dénouement :
 
Un ami m'a donné la solution :
 
#====================================================
#                      BLOCS
#====================================================
// Blocs principaux (Menu, intro)
function bloc ($titre, $contenu)
{
 global $result_bloc;
 
 if (file_exists('./themes/NOMDUTONTHEME/images/blocs/'.$result_bloc[module].'.png'))
 {
  $class_bloc = $result_bloc[module];
 }
 else
 {
  $class_bloc = 'vide';
 }
 
    echo '<div class="bloc_titre" style="background-image:url(\'./themes/nom du theme/images/blocs/'.$class_bloc.'.png\'); "  >'.($class_bloc == 'vide' ? ''.$titre : '').'</div>
    <div class="bloc_contenu">'.$contenu.'</div>
    <div class="bloc_footer"></div>';
  }
 
on sait jamais cela pourrait servir à quelqu'un comme moi


Message édité par neopreine le 12-05-2008 à 12:30:28
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed