Plusieurs types de blocs - "templates" différents
Aller à la page Précédente  1, 2, 3, 4  Suivante
PHP-Nuke France - CE -> Blocks

Auteur: ckforumLocalisation: FRANCE MessagePosté le: 08.02.2005, 16:22:33    Sujet du message:

re,

Bon me revoilou avec mes bouts de codes Smile
mais j'ai refait entierement le truc donc i lva falloir que tu réédites les titre de tes blocks pour les remettre comme avant sans les F : ETC... pourquoi ? et bien tout simplement parce que la taille du champ "titre" de la table des blocks est limité a 60 caracteres ete cela risque de poser des problemes donc j'ai opté pour une solution plus "simplifiée" soit :

Voici a quoi pourrais ressembler la fonction themesidebox() une fois hackée :



Code:

/************************************************************/
/* Function themesidebox()                                  */
/*                                                          */
/* Control look of your blocks. Just simple.                */
/************************************************************/
// ----------------------
// Customize block
// en 2 partie
// hack 1 et 2
// voir les commentaires
// permet d'affecter
// un theme particulier à un
// block + d'autre valeur
//
// version 1.0
// $Revision:$
// par ckforum
// -----------------------


/* --- Hack block Partie 1 --- */

// ici on définit le nom du theme plus pratique
// pour ne pas avoir a modifier tout le code !

define("_name_of_theme",basename(dirname(__FILE__)));

// ici on définit le style particulier des block que l'on soouhaite
// customisé ! on définit une constante _customize_block qui
// contiendra le titre du block a customisé +
// les valeurs spécifiques !

define("_customize_block", serialize(array(

/* Premier block exemple */
"Modules"       =>    array(
                "fond" =>    "blue",      /* le fond du block */
                "font" =>    "yellow",    /* la couleur des texte */
                "theme" =>   "blocks1.html", /* le theme du block */
                "image" =>   "images/blue.gif",   /* l'image du block avec le chemin ou pas ex . images/test.gif*/   

             ), /* ne pas oublier cette virgule ! */
            
            
/* Deuxieme block exemple */            
"Administration"   =>   array(
                "fond" =>    "red",      
                "font" =>    "white",
                "theme" =>   "blocks2.html",
                "image" =>   "images/arrow.gif"
             ),
         
)

)); // end define

/* --- FIN Hack block Partie 1 --- */

function themesidebox($title, $content) {


/* --- Hack block Partie 2 --- */

// on affecte les valeur de la constante a une var
$val_customize_block = unserialize(_customize_block) ;
// on récupere les valeurs du block spécifiques selon son titre défini dans la constante _customize_block
// puis on affecte a une var $valueforthelock
$valueforthelock = $val_customize_block[$title];

// ensuite c'est tout bete
// un affecte des variables simple pour les mettre dans le fichier
// blockxxx.html par exemple que l'on souhaitera si le theme du block est spécifié
// sinon on auras toujour la couleur de fond et les autres valeurs :)

$specialfond = $valueforthelock['fond'];    /* le fond du block */
$specialfont = $valueforthelock['font'];   /* la couleur des texte */
$specialtheme = $valueforthelock['theme'];   /* le theme du block */
$specialimage = $valueforthelock['image'];   /* l'image du block */
 

  // on vérifie si il y a une valeur dans $specialtheme
  // si oui on test quand meme si le fichier existe physiquement
  if ($specialtheme) {
  file_exists("themes/"._name_of_theme."/$specialtheme") ? $tmpl_file = "themes/"._name_of_theme."/$specialtheme" : $tmpl_file = "themes/"._name_of_theme."/blocks.html"; 
  } else {
  $tmpl_file = "themes/"._name_of_theme."/blocks.html";
  }
 
//  $tmpl_file = "themes/"._name_of_theme."/blocks.html";
   
/* --- FIN Hack block Partie 2 --- */   
   
    $thefile = implode("", file($tmpl_file));
    $thefile = addslashes($thefile);
    $thefile = "\$r_file=\"".$thefile."\";";
    eval($thefile);
    print $r_file;
}



Voilà comme tu peux voir on créé une constante (_customize_block) qui nous permettra de définir selon le titre du block (le titre edité ou par défaut celui de base !!! ). J'ai formatée l'affichage de la constante pour qu'elle soit facile à modifier !

Le principe est que tu recopie la partie "Modules" ou "Administration" en donnat le titre de ton block celui que tu souhaites customisé !

Ensuite tu as des "sous" valeur qui te permettront de préciser le theme spécial, couleur de fond, image , couleur des texte etc... donc quatre variables que nous pourront exploiter dans les themes "spéciaux" ou dans le block standard si l'on a pas préciser de theme spécifique !

Je te joint a ce post le fichier theme.php du theme standard fiapple modifié pour que cela soit plus clair ainsi que 2 blocksx.html pour l'exemple. Bien sûr ces blocks en question peuvent être formatés comme tu le souhaites car pour le coup tu pourras affecté un theme spécifique a chaque block avec ou pas des donnée provenant de la constante (iamge, fond, couelur texte, ETC...)

Voilà je pense que cela devrait correspondre a ce que tu souhaites !


Tiens moi au courant
@++


Dernière édition par ckforum le 08.02.2005, 16:41:04; édité 1 fois

Auteur: tchernoLocalisation: Suisse MessagePosté le: 08.02.2005, 16:30:20    Sujet du message:

Re!

Wow! Je suis sur le ... ! C'est génial! Je teste ça dès ce soir et je te donne un feedback! Smile

Merci beaucoup pour "tes bouts de code" comme tu le dis, qui permettent VRAIMENT de créer un visuel plus poussé. Cela devrait être intégré à PHPnuke par défaut! Où faut-il signer? ;)

Je te redis!

Bon après-midi!

Auteur: tchernoLocalisation: Suisse MessagePosté le: 09.02.2005, 00:08:54    Sujet du message:

Re!

J'ai installé et testé ton code. ça fonctionne à merveille! Configurer les différents blocks est un jeu d'enfant et ça me permet de créer mes blocks sans marges Smile YahooooooOOOooooo!

Je vais tester plus avant lors de l'implémentation du visuel dans le code. Je te tiendrai alors au courant dans ce topic.

Merci beaucoup pour ce superbe code!
Je t'avertirai lorsque le site sera online et prêt pour la publication!

Il me reste encore pas mal de boulot... Cheesy Grin
ça ne fait que commencer. aaargh Razz

Je risque fort de repasser plusieurs fois sur le forum.

Auteur: basdom MessagePosté le: 17.02.2005, 23:35:31    Sujet du message: processus d'instalation

pourrais tu détailler la mise en place de cette géniale fonction pour affecter un theme par block

merci de m'aider car je suis debutant

basdom

Auteur: ckforumLocalisation: FRANCE MessagePosté le: 18.02.2005, 00:56:03    Sujet du message:

SAlut basdom

Bah euh tout est commenté ? dans le texte et il y a les fichiers d'exemple a télécharger ? dis nous plutot ce que tu ne comprend pas ? et as tu déjà bidouillé un theme ?
@+



PHP-Nuke France - CE -> Blocks

Toutes les heures sont au format GMT + 2 Heures

Aller à la page Précédente  1, 2, 3, 4  Suivante
Page 2 sur 4


>> Fermer cette Page <<