AccueilDernières imagesRechercherS'enregistrerConnexion

Forum de graphisme, codage et game design proposant des tutoriels, astuces, libres services et commandes dans les domaines de l'infographie amateur, de l'intégration web (HTML et CSS essentiellement) ainsi que dans la conception de RPG sur forum.


165 résultats trouvés pour css

Personnaliser les balises Code, Quote, Spoiler et Hide - Mer 24 Aoû 2016 - 2:38



Personnaliser les balises "Code", "Quote", "Spoiler" et "Hide"



Bonjour !

Ce tutoriel vous permettra d'apprendre comment personnaliser les balises "Code", "Quote", "Spoiler" et "Hide" pour améliorer leur apparence.

Au cas où vous ne savez pas de quoi je parle, voilà ces balises :

Code:
Je suis un code.


Onyx a écrit:Je suis un quote (une citation).


Spoiler:




Petits exemples de résultats différents de balises après personnalisation :
https://2img.net/r/hpimg15/pics/296960171.jpg
https://2img.net/r/hpimg15/pics/998191602.jpg
https://2img.net/r/hpimg15/pics/833452243.jpg
https://2img.net/r/hpimg15/pics/378846444.jpg
https://2img.net/r/hpimg15/pics/234533185.jpg


Je profite aussi de l'occasion pour vous donnerles liens vers d'autres tutoriels/astuces qui pourraient vous intéresser :
Coloriser vos balises de code : cliquez ici pour voir.
Ajouter l'option "Sélectionner le contenu" à vos balises de code : cliquez ici pour voir.
Personnalisation des intitulés des balises : cliquez ici pour voir.
Ajouter des numéros de ligne à vos balises de code : cliquez ici pour voir.


À noter que les codes ci-bas sont à mettre dans le CSS.
Pour cela, nous allons aller dans :
> PANNEAU D'ADMINISTRATION
> > AFFICHAGE
> > > IMAGES ET COULEURS
> > > > COULEURS
> > > > > FEUILLE DE STYLE CSS



Personnalisation des balises sous phpBB2


Les balises code


Pour personnaliser les balises code :
Code:
/*Contenu de CODE*/
.code {
  propriété: valeur;
}
/*Intérieur du contenu de CODE*/
.cont_code {
  propriété: valeur;
}



Les balises quote (citer)


Pour personnaliser les balises quote (citer) :
Code:
/*Contenu de QUOTE*/
.quote {
  propriété: valeur;
}



Les balises spoiler


Pour personnaliser les balises spoiler :
Code:
/*Bloc qui contient le titre et le contenu de SPOILER*/
.spoiler {
  propriété: valeur;
}
/*Ligne du titre de SPOILER*/
.spoiler > dt {
  propriété: valeur;
}
/*Contenu de SPOILER fermé*/
.spoiler_closed {
  propriété: valeur;
}
/*Contenu de SPOILER ouvert*/
.spoiler_content {
  propriété: valeur;
}
/*Pour éliminer un espace pas rapport sous le spoiler*/
.spoiler > dd:last-child {
  border: none;
}



Les balises hide


Pour personnaliser les balises hide :
Code:
/*Bloc qui contient le HIDE*/
.hidecode {
  propriété: valeur;
}
/*Contenu de HIDE*/
.hidecode > dd:first-of-type {
  propriété: valeur;
}



Toutes les balises


Pour personnaliser tous les balises en même temps :
Code:
/*Bloc qui contient le titre et le contenu de CODE, SPOILER, QUOTE ET HIDE*/
.codebox {
  propriété: valeur;
}
/*Contenu de CODE, SPOILER FERMÉ, QUOTE ET HIDE*/
.codebox > dd:first-of-type  {
  propriété: valeur;
}
/*Ligne du titre de CODE, SPOILER ET QUOTE*/
.codebox > dt {
  propriété: valeur;
}
/*Titre de CODE, SPOILER ET QUOTE*/
.codebox > dt .genmed, .spoiler > dt {
  propriété: valeur;
}




Personnalisation des balises sous Invision


Les balises code


Pour personnaliser les balises code :
Code:
/*Contenu de CODE*/
code {
  propriété: valeur;
}



Les balises quote (citer)


Pour personnaliser les balises quote (citer) :
Code:
/*Bloc qui contient la ligne de l intitulé et le contenu de QUOTE*/
blockquote {
  propriété: valeur;
}
/*Bloc intérieur de QUOTE incluant l intitulé*/
blockquote > div {
  margin-left: 0px;
  propriété: valeur;
}
/*Intitulé de QUOTE*/
blockquote cite {
  background-image: none;
  propriété: valeur;
}



Les balises spoiler


Pour personnaliser les balises spoiler :
Code:
/*Bloc qui contient le titre et le contenu de SPOILER*/
.spoiler {
  propriété: valeur;
}
/*Ligne du titre de SPOILER*/
.spoiler > dt {
  propriété: valeur;
}
/*Contenu de SPOILER fermé*/
.spoiler_content {
  propriété: valeur;
}
/*Contenu de SPOILER ouvert*/
.spoiler .hidden {
  propriété: valeur;
}



Les balises hide


Pour personnaliser les balises hide :
Code:
/*Bloc qui contient le HIDE*/
.hidecode {
  propriété: valeur;
}
/*Contenu de HIDE*/
.hidecode > dd:first-of-type {
  propriété: valeur;
}



Toutes les balises


Pour personnaliser plusieurs balises en même temps :
Code:
/*Bloc qui contient le titre et le contenu de CODE ET HIDE*/
.codebox {
  propriété: valeur;
}
/*Contenu de CODE ET HIDE*/
.codebox > dd:first-of-type  {
  propriété: valeur;
}
/*Ligne du titre de CODE ET HIDE*/
.codebox > dt {
  propriété: valeur;
}




Personnalisation des balises sous phpBB3


Les balises code


Pour personnaliser les balises code :
Code:
/*Contenu de CODE*/
code {
  propriété: valeur;
}



Les balises quote (citer)


Pour personnaliser les balises quote (citer) :
Code:
/*Bloc qui crée l apostrophe et l espace autour de QUOTE*/
blockquote {
  margin: 0px;
  background-image: none;
  propriété: valeur;
}
/*Intitulé de QUOTE*/
blockquote cite {
  propriété: valeur;
}
/*Bloc de QUOTE incluant l intitulé*/
blockquote > div {
  margin-left: 0px;
  propriété: valeur;
}



Les balises spoiler


Pour personnaliser les balises spoiler :
Code:
/*Bloc qui contient le titre et le contenu de SPOILER*/
.spoiler {
  propriété: valeur;
}
/*Ligne du titre de SPOILER*/
.spoiler > dt {
  propriété: valeur;
}
/*Contenu de SPOILER fermé*/
.spoiler_content {
  propriété: valeur;
}
/*Contenu de SPOILER ouvert*/
.spoiler .hidden {
  propriété: valeur;
}



Les balises hide


Pour personnaliser les balises hide :
Code:
/*Bloc qui contient le HIDE*/
.hidecode {
  propriété: valeur;
}
/*Contenu de HIDE*/
.hidecode > dd:first-of-type {
  propriété: valeur;
}



Toutes les balises


Pour personnaliser plusieurs balises en même temps :
Code:
/*Bloc qui contient le titre et le contenu de CODE, SPOILER ET HIDE*/
.codebox {
  propriété: valeur;
}
/*Contenu de CODE, SPOILER ET HIDE*/
.codebox > dd:first-of-type  {
  propriété: valeur;
}
/*Ligne du titre de CODE, SPOILER ET HIDE*/
.codebox > dt {
  propriété: valeur;
}




Personnalisation des balises sous PunBB


Les balises code


Pour personnaliser les balises code :
Code:
/*Contenu de CODE*/
.cont_code {
  propriété: valeur;
}



Les balises quote (citer)


Pour personnaliser les balises quote (citer) :
Code:
/*Bloc autour de QUOTE*/
blockquote {
  propriété: valeur;
}
/*Intitulé de QUOTE*/
blockquote cite {
  background-image: none;
  propriété: valeur;
}
/*Bloc de QUOTE incluant l intitulé*/
blockquote > div {
  margin-left: 0px;
  propriété: valeur;
}



Les balises spoiler


Pour personnaliser les balises spoiler :
Code:
/*Bloc qui contient le titre et le contenu de SPOILER*/
.spoiler {
  propriété: valeur;
}
/*Ligne du titre de SPOILER*/
.spoiler > dt {
  propriété: valeur;
}
/*Contenu de SPOILER fermé*/
.spoiler_content {
  propriété: valeur;
}
/*Contenu de SPOILER ouvert*/
.spoiler .hidden {
  propriété: valeur;
}



Les balises hide


Pour personnaliser les balises hide :
Code:
/*Bloc qui contient le HIDE*/
.hidecode {
  propriété: valeur;
}
/*Contenu de HIDE*/
.hidecode > dd:first-of-type {
  propriété: valeur;
}



Toutes les balises


Pour personnaliser plusieurs balises en même temps :
Code:
/*Bloc qui contient le titre et le contenu de CODE, SPOILER ET HIDE*/
.codebox {
  propriété: valeur;
}
/*Contenu de CODE, SPOILER ET HIDE*/
.codebox > dd:first-of-type  {
  propriété: valeur;
}
/*Ligne du titre de CODE, SPOILER ET HIDE*/
.codebox > dt {
  propriété: valeur;
}

Profil simple avec hover et feuille de rpg cachée - Mer 10 Aoû 2016 - 16:44



Bonjour, je viens vous proposer un profil à la bordure dorée, avec les informations qui apparaissent à la survol de l'avatar, comme ceci :

► Simple
► Au survol

De plus, la feuille de rpg est cachée et s'affiche/se referme quand vous cliquez sur "Ouvrir".

L'arrière plan sombre est celui de mon forum. L'avatar est en 200x400. Cela a été créé pour phpBB2.

Il suffit de se rendre dans le template viewtopic_body et de remplacer ceci :
Code:
      <td class="{postrow.displayed.ROW_CLASS}"{postrow.displayed.THANK_BGCOLOR} valign="top" width="150">
         <span class="name"><a name="{postrow.displayed.U_POST_ID}" style="position: relative; top: -30px; width: 1px;" id="{postrow.displayed.U_POST_ID}"></a><strong>{postrow.displayed.POSTER_NAME}</strong></span><br />
            <span class="postdetails poster-profile">
            {postrow.displayed.POSTER_RANK}<br />
            {postrow.displayed.RANK_IMAGE}{postrow.displayed.POSTER_AVATAR}<br /><br />
            <!-- BEGIN profile_field -->
            {postrow.displayed.profile_field.LABEL} {postrow.displayed.profile_field.CONTENT}{postrow.displayed.profile_field.SEPARATOR}
            <!-- END profile_field -->
            {postrow.displayed.POSTER_RPG}
         </span><br />
         <img src="http://2img.net/i/fa/empty.gif" alt="" style="width:150px;height:1px" />
      </td>


Par ceci :
Code:
 <td class="{postrow.displayed.ROW_CLASS}"{postrow.displayed.THANK_BGCOLOR} valign="top" width="150">
   <div class="namePOST"><a name="{postrow.displayed.U_POST_ID}" id="{postrow.displayed.U_POST_ID}"></a><strong>{postrow.displayed.POSTER_NAME}</strong></div><div class="imgrankPOST">{postrow.displayed.RANK_IMAGE}</div><div class="avaPOST"><div>{postrow.displayed.POSTER_RANK}<br/><br/><!-- BEGIN profile_field --><font style="color:white;">{postrow.displayed.profile_field.LABEL}</font> {postrow.displayed.profile_field.CONTENT}{postrow.displayed.profile_field.SEPARATOR}<!-- END profile_field --></div><p>{postrow.displayed.POSTER_AVATAR}</p></div><div onClick="a=this.nextSibling.style;a.display=(a.display==''?'none':'')" class="openPOST">Ouvrir</div><div class="rpgPOST" style="display:none;">{postrow.displayed.POSTER_RPG}</div>
 </td>


Et le CSS :
Code:
/*****************PROFIL*****************/
/* PSEUDONYME SUJET */
.namePOST {
  font-family: 'Eagle Lake'; /**modifiable**/
  text-decoration:none;
  text-shadow: 0px 1px lightgrey;
text-transform:uppercase; text-align:center;
}
.namePOST a {
  text-decoration:none;}
/* AVATAR SUJET */
.avaPOST {
position:relative; z-index:5; width:200px; height:400px; overflow:hidden; border-radius:10px;
  border:2px groove DarkGoldenRod; /* MODIFIABLE */
}
.avaPOST p {
position:relative; z-index:3; margin:0;
}
.avaPOST:hover p{
z-index:-1; opacity:0;
}
/* INFORMATIONS JOUEUR SUJET */
.avaPOST div{
position:absolute;
width:190px; height:390px; padding:5px; overflow:auto;
background:rgba(0,0,0,0.5); color:white; /* MODIFIABLE */
font-size:11px; text-align:center;
}
/* IMAGE RANG SUJET */
.imgrankPOST {margin-top:-5px;
}
.imgrankPOST img{
max-height:400px;
}
/* OUVRIR FEUILLE DE PERSONNAGE SUJET */
.openPOST {
position:relative; z-index:10; margin:auto; margin-top:-15px;
cursor:pointer; width:175px; height:25px; color:rgba(0,0,0,0);
background:url(http://image.noelshack.com/fichiers/2016/31/1470580990-sans-titre-2.png);  /* IMAGE 175*25 */
}
/* FEUILLE DE PERSONNAGE SUJET */
.rpgPOST {
margin-top:-10px;
padding:08px 10px 10px; border-radius:0 0 15px 15px;
background:#191919; /* MODIFIABLE */
font-size:11px;
}


Mettre un crédit vers Never-Utopia est obligatoire. Retirer un crédit est interdit.
Si vous avez des problèmes avec ce LS, venez poster ici.
Merci de laisser un message pour donner vos impressions, commentaires et/ou remerciements ^^

Astuce - Retirer les retours à la ligne en haut des signatures - Dim 24 Juil 2016 - 20:09



Enlever l'espace en haut de la signature



Une petite astuce pour les codeurs qui veulent personnaliser l'affichage des signatures.

Sur forumactif, les signatures ont toujours 2 retours à la ligne (balises br) qui s'ajoutent au début et vont créer un espace non désiré.

C'est à dire que si je veux styliser ma signature en lui mettant une couleur de fond, ou une bordure, ou des marges intérieures, j'aurai toujours un grand truc en haut qui déséquilibre.

Exemple



J'ai voulu mettre un fond bleu à ma signature, et des marges à l'intérieure mais... J'ai un grand espace en haut !
Tag css sur Never Utopia - graphisme, codage et game design - Page 3 Iqfy6eE

Une fois le code ajouté, je n'ai plus le soucis des retours à la ligne en haut :
Tag css sur Never Utopia - graphisme, codage et game design - Page 3 GyiR68D

Code



Pour enlever seulement ces 2 balises br là, il suffit d'ajouter ce petit code CSS :
Code:
/* Enlever espaces en haut de la signature */
.signature_div > br:nth-of-type(-n+2) {
  display: none;
}


La classe "signature_div" que j'utilise est celle présente par défaut autour de la signature dans le template viewtopic_body.
Code:
<div class="signature_div">{postrow.displayed.SIGNATURE}</div>


Onyx a écrit:
Si je peux me permettre, cette div n'existe pas pour PunBB. À la place, le CSS à utiliser serait celui-ci :
Code:
/* Enlever espaces en haut de la signature */
.sig-content > br:nth-of-type(-n+2) {
  display: none;
}


Pensez à faire un lien de remerciement vers Never Utopia pour la petite astuce Wink

Mettre un crédit vers Never-Utopia est obligatoire. Retirer un crédit est interdit.
Si vous avez des problèmes avec ce LS, venez poster ici.
Merci de laisser un message pour donner vos impressions, commentaires et/ou remerciements ^^

Enelia

Fiche de présentation Sombre - Ven 22 Juil 2016 - 20:06



Bon voilà, j'avais crée ça pour un ami, mais au final son forum ne s'est pas fait alors je propose ça ici ^^

Voici le rendu de la fiche : www



Ici c'est la partie que le joueur devra remplir

Code:
<div class="cadre">
 <div class="titre">Nom Prénom</div>
 <br />
 <div class="image"><img src="http://img15.hostingpics.net/pics/454841500250.jpg" /></div>
 <br />
 <table><tr><td>
<div class="gene">Généralité âge</div></td><td><table><tr><td><div class="faction"><img src="http://img15.hostingpics.net/pics/252028Reptile.jpg" /></div></td></tr><tr><td><div class="arme">Armes :</div>
</td></tr></table></td></tr></table>
 <div class="titrecat">Pouvoir</div>
 <br />
 <div class="texte">Novitates autem si spem adferunt, ut tamquam in herbis non fallacibus fructus appareat, non sunt illae quidem repudiandae, vetustas tamen suo loco conservanda; maxima est enim vis vetustatis et consuetudinis. Quin in ipso equo, cuius modo feci mentionem, si nulla res impediat, nemo est, quin eo, quo consuevit, libentius utatur quam intractato et novo. Nec vero in hoc quod est animal, sed in iis etiam quae sunt inanima, consuetudo valet, cum locis ipsis delectemur, montuosis etiam et silvestribus, in quibus diutius commorati sumus.

Haec dum oriens diu perferret, caeli reserato tepore Constantius consulatu suo septies et Caesaris ter egressus Arelate Valentiam petit, in Gundomadum et Vadomarium fratres Alamannorum reges arma moturus, quorum crebris excursibus vastabantur confines limitibus terrae Gallorum.

Ut enim quisque sibi plurimum confidit et ut quisque maxime virtute et sapientia sic munitus est, ut nullo egeat suaque omnia in se ipso posita iudicet, ita in amicitiis expetendis colendisque maxime excellit. Quid enim? Africanus indigens mei? Minime hercule! ac ne ego quidem illius; sed ego admiratione quadam virtutis eius, ille vicissim opinione fortasse non nulla, quam de meis moribus habebat, me dilexit; auxit benevolentiam consuetudo. Sed quamquam utilitates multae et magnae consecutae sunt, non sunt tamen ab earum spe causae diligendi profectae.</div>
 <br />
 <div class="titrecat">Description physique</div>
 <br />
 <div class="texte">Novitates autem si spem adferunt, ut tamquam in herbis non fallacibus fructus appareat, non sunt illae quidem repudiandae, vetustas tamen suo loco conservanda; maxima est enim vis vetustatis et consuetudinis. Quin in ipso equo, cuius modo feci mentionem, si nulla res impediat, nemo est, quin eo, quo consuevit, libentius utatur quam intractato et novo. Nec vero in hoc quod est animal, sed in iis etiam quae sunt inanima, consuetudo valet, cum locis ipsis delectemur, montuosis etiam et silvestribus, in quibus diutius commorati sumus.

Haec dum oriens diu perferret, caeli reserato tepore Constantius consulatu suo septies et Caesaris ter egressus Arelate Valentiam petit, in Gundomadum et Vadomarium fratres Alamannorum reges arma moturus, quorum crebris excursibus vastabantur confines limitibus terrae Gallorum.

Ut enim quisque sibi plurimum confidit et ut quisque maxime virtute et sapientia sic munitus est, ut nullo egeat suaque omnia in se ipso posita iudicet, ita in amicitiis expetendis colendisque maxime excellit. Quid enim? Africanus indigens mei? Minime hercule! ac ne ego quidem illius; sed ego admiratione quadam virtutis eius, ille vicissim opinione fortasse non nulla, quam de meis moribus habebat, me dilexit; auxit benevolentiam consuetudo. Sed quamquam utilitates multae et magnae consecutae sunt, non sunt tamen ab earum spe causae diligendi profectae.</div>
 <br />
 <div class="titrecat">Description mentale</div>
 <br />
 <div class="texte">Novitates autem si spem adferunt, ut tamquam in herbis non fallacibus fructus appareat, non sunt illae quidem repudiandae, vetustas tamen suo loco conservanda; maxima est enim vis vetustatis et consuetudinis. Quin in ipso equo, cuius modo feci mentionem, si nulla res impediat, nemo est, quin eo, quo consuevit, libentius utatur quam intractato et novo. Nec vero in hoc quod est animal, sed in iis etiam quae sunt inanima, consuetudo valet, cum locis ipsis delectemur, montuosis etiam et silvestribus, in quibus diutius commorati sumus.

Haec dum oriens diu perferret, caeli reserato tepore Constantius consulatu suo septies et Caesaris ter egressus Arelate Valentiam petit, in Gundomadum et Vadomarium fratres Alamannorum reges arma moturus, quorum crebris excursibus vastabantur confines limitibus terrae Gallorum.

Ut enim quisque sibi plurimum confidit et ut quisque maxime virtute et sapientia sic munitus est, ut nullo egeat suaque omnia in se ipso posita iudicet, ita in amicitiis expetendis colendisque maxime excellit. Quid enim? Africanus indigens mei? Minime hercule! ac ne ego quidem illius; sed ego admiratione quadam virtutis eius, ille vicissim opinione fortasse non nulla, quam de meis moribus habebat, me dilexit; auxit benevolentiam consuetudo. Sed quamquam utilitates multae et magnae consecutae sunt, non sunt tamen ab earum spe causae diligendi profectae.</div>
 <br />
 <div class="titrecat">Histoire</div>
 <br />
 <div class="texteh">Novitates autem si spem adferunt, ut tamquam in herbis non fallacibus fructus appareat, non sunt illae quidem repudiandae, vetustas tamen suo loco conservanda; maxima est enim vis vetustatis et consuetudinis. Quin in ipso equo, cuius modo feci mentionem, si nulla res impediat, nemo est, quin eo, quo consuevit, libentius utatur quam intractato et novo. Nec vero in hoc quod est animal, sed in iis etiam quae sunt inanima, consuetudo valet, cum locis ipsis delectemur, montuosis etiam et silvestribus, in quibus diutius commorati sumus.

Haec dum oriens diu perferret, caeli reserato tepore Constantius consulatu suo septies et Caesaris ter egressus Arelate Valentiam petit, in Gundomadum et Vadomarium fratres Alamannorum reges arma moturus, quorum crebris excursibus vastabantur confines limitibus terrae Gallorum.

Ut enim quisque sibi plurimum confidit et ut quisque maxime virtute et sapientia sic munitus est, ut nullo egeat suaque omnia in se ipso posita iudicet, ita in amicitiis expetendis colendisque maxime excellit. Quid enim? Africanus indigens mei? Minime hercule! ac ne ego quidem illius; sed ego admiratione quadam virtutis eius, ille vicissim opinione fortasse non nulla, quam de meis moribus habebat, me dilexit; auxit benevolentiam consuetudo. Sed quamquam utilitates multae et magnae consecutae sunt, non sunt tamen ab earum spe causae diligendi profectae.</div>
 <br />
<div style="text-align: center; color: white;">c AngelsMari sur <a href="http://www.never-utopia.com/">Never Utopia</a></div>
</div>



Ici c'est le CSS a mettre dans le panneau administration, mais vous pouvez tout simplement ajouter des balises pour l'utiliser sans être admin

Code:
.cadre{
 background-image: url('http://img15.hostingpics.net/pics/569791test.jpg');
 width: 500px;
 text-align: justify;
 color: white;
}

.titre{
 font-family: 'Comic Sans MS';
 font-size: 40px;
 text-shadow: #DF3A01 1px 5px;
 color: #D7DF04;
 text-align: center;
}

.image{
 height: 250px;
 width: 500px;
}


.gene{
 height: 250px;
 width: 120px;
 font-size: 12px;
 color: white;
}

.faction{
 height: 124px;
 width: 370px;
}

.arme{
 height: 124px;
 width: 370px;
 color: white;
}
.titrecat{
 font-family: 'Comic Sans MS';
 font-size: 25px;
 text-shadow: #B43104 1px 5px;
 color: #A48904;
 text-align: center;
}
 
.texte{
 width: 480px;
 overflow: auto;
 height: 125px;
 margin-left: 10px;
}
.texteh{
 width: 480px;
 overflow: auto;
 height: 160px;
 margin-left: 10px;
}


Pour changer la partie avec l'image reptilien c'est ici :

Vous avez juste à enlever la balise de l'image dans cette partie du code
Code:
<div class="faction"><img src="http://img15.hostingpics.net/pics/252028Reptile.jpg" /></div>

Fiche de présentation bleutée tout en rondeur. - Mer 20 Juil 2016 - 18:54



Bien le bonsoir ou bonjour à toute la communauté. :)

Pour me "reposer" la tête quand je ne souhaite pas plancher sur mon univers, je graphe et je code. Et là j'ai eu l'envie et l'inspiration pour coder la nouvelle fiche de présentation que j'userais. Et comme j'en suis fier, je viens la partager avec vous. :)

Html&CSS ▬ PhpBB 2
Voici un aperçus de la fiche : Fiche de présentation. (screen).

/!\ Je rappelle que cette section existe en cas de problème ! /!\



   
Merci de ne pas retirer l'indication pour trouver ce LS en bas de la fiche, qui fait aussi office de "crédit" :)


Le Code HTML de la fiche:
Code:
<div class="bfichepresentation">
<div class="btitrepresentation">Prénom(s)&Nom(s) du personnage.</div>
<table style="margin:auto;">
<tr><td><div style="display:block;width:200px;height:350px;font-size:11px;overflow:auto;margin:auto;color:#000523;padding:2px;text-align:left"><img src="http://img15.hostingpics.net/pics/958473avatarpnj.png" /></div></td><td><div style="display:block;width:350px;height:350px;font-size:11px;overflow:auto;margin:auto;padding:2px;text-align:left">
<span style="font-weight:700;font-size:25px;font-family:'Times New Roman';color:#80afcc;padding-left:5px;">Informations générales</span>
<b>- Race :</b>
<b>- Peuple :</b> (Merrow et Lamia uniquement.)
<b>- Sexe :</b>
<b>- Âge actuel :</b>
<b>- Date&Lieu de naissance :</b>

<b>- Lieu de résidence actuelle :</b>
<b>- Classe Social :</b> (Citoyen, Noble ou Hors-la-loi.)
<b>- Métier :</b>
<b>- Magie :</b>
<b>- Liste des sorts/techniques connus :</b> (Listez les techniques de combat et les sorts que votre personnage connais. Vous pouvez tout inventer, cependant le Staff se réserve le droit de refuser ou demander des modifications s'ils jugent les techniques trop puissantes.)</div></td></tr></table>
<div class="btitrepresentation">Physique :</div>
<table style="margin:auto;">
<tr><td><span style="font-weight:700;font-size:20px;font-family:'Times New Roman';color:#80afcc;padding-left:5px">Description de la queue :</span> <div style="display:block;width:245px;height:150px;font-size:11px;overflow:auto;margin:auto;color:#DEDEDE;padding:2px;text-align:justify;background: #346c82;border-radius: 10px;">REDIGER ICI.</div></td><td><span style="font-weight:700;font-size:20px;font-family:'Times New Roman';color:#80afcc;padding-left:5px">Description du torse :</span><div style="display:block;width:245px;height:150px;font-size:11px;overflow:auto;margin:auto;color:#DEDEDE;padding:2px;text-align:justify;background: #346c82;border-radius: 10px;">REDIGER ICI.</div></td></tr></table><br />
<div class="btitrepresentation">Caractère/Mental :</div>
<div style="display:block;font-size:11px;color:#DEDEDE;padding: 5px;text-align:justify;width: 540px;">Et est admodum mirum videre plebem innumeram mentibus ardore quodam infuso cum dimicationum curulium eventu pendentem. haec similiaque memorabile nihil vel serium agi Romae permittunt. ergo redeundum ad textum.
Quod cum ita sit, paucae domus studiorum seriis cultibus antea celebratae nunc ludibriis ignaviae torpentis exundant, vocali sonu, perflabili tinnitu fidium resultantes. denique pro philosopho cantor et in locum oratoris doctor artium ludicrarum accitur et bybliothecis sepulcrorum ritu in perpetuum clausis organa fabricantur hydraulica, et lyrae ad speciem carpentorum ingentes tibiaeque et histrionici gestus instrumenta non levia.</div><br />
<div class="btitrepresentation">Biographie.</div>
<div style="display:block;font-size:11px;color:#DEDEDE;padding: 5px;text-align:justify;width: 540px;">Et est admodum mirum videre plebem innumeram mentibus ardore quodam infuso cum dimicationum curulium eventu pendentem. haec similiaque memorabile nihil vel serium agi Romae permittunt. ergo redeundum ad textum.
Quod cum ita sit, paucae domus studiorum seriis cultibus antea celebratae nunc ludibriis ignaviae torpentis exundant, vocali sonu, perflabili tinnitu fidium resultantes. denique pro philosopho cantor et in locum oratoris doctor artium ludicrarum accitur et bybliothecis sepulcrorum ritu in perpetuum clausis organa fabricantur hydraulica, et lyrae ad speciem carpentorum ingentes tibiaeque et histrionici gestus instrumenta non levia.</div><br />
<div class="btitrepresentation">Informations complémentaires :</div>
<div style="display:block;font-size:11px;color:#DEDEDE;padding: 5px;text-align:justify;width: 540px;"><b>- Situation maritale :</b> ( Célibataire, Marié, Veuf/Veuve.)
<b>- Orientation Sexuelle :</b> (Hétérosexuel / Bisexuel / Homosexuel / Pansexuel / Asexuelle / Altersexuelle / etc.)

<b>- Son inventaire de départ :</b> (lister les objets que possède votre personnage. Le Staff s’octroie le droit de vous refuser certains objets s’ils sont jugé trop puissant.)

<b>- En cas de départ, que souhaitez vous pour votre personnage :</b> (dite nous ce que vous voulez que nous en fassions. Le mettre en prédéfini, en PNJ, le faire considérer disparu ou mort ? Cela pour que ces liens puissent à leur tour prendre en considération le statut de votre personnage.)</div>

<div style="font-size:10px;text-align:center;">Codage en libre-service sur <a target="_blank" href="http://www.never-utopia.com/">Never-Utopia</a>.</div></div>


Le Code CSS de la fiche:
Code:
/** Fiche de présentation **/
.bfichepresentation {
  margin: auto;
width: 550px;
background: #0c324f;
border-top: 5px solid #80afcc;
border-bottom: 5px solid #80afcc;
text-align: justify;
font-size: 12px;
color: #DEDEDE;
 border-radius : 20px;}

.btitrepresentation {
width: 540px;
height: 20px;
background: #80afcc;
text-align: center;
font-size: 25px;
color: #346c82;
padding: 5px; }  
/** Fin Fiche de Présentation **/

Llunn

Fiche colorée - Mer 20 Juil 2016 - 14:38



Fiche colorée



Je vous propose une petite fiche de ma création !
Cette fiche peut servir pour des utilisation différentes donc, à vous de voir ce que vous en faites !

Aperçu en direct
Aperçu en image


Le codage est a mettre dans une page html et ensuite, pour l'utiliser, vous devrez utiliser une belle iframe !

Soyez gentils, laissez moi le petit crédit lorsque vous utiliser le code Wink



Le code HTML



Il s'agit du code complet que vous devez mettre dans une page html. (Module > Gestion des pages HTML).
Sélectionnez bien les "non" avant de poster.

C'est dans cette page que vous ajouterez votre contenu et les couleurs si vous le souhaitez.

Code:
<!DOCTYPE html><html>
<head>
<link href='https://fonts.googleapis.com/css?family=Oswald:400,300,700' rel='stylesheet' type='text/css' />
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" /><title>Fiche colorée</title>
<style type="text/css">
body {
margin: 0px;
}
.banana {color: #2DB38F; font-family: Oswald;font-size: 11px;font-weight: bold;}
.peach {color: #B51F8C; font-family: Oswald;font-size: 11px;font-weight: bold;}
.b0 { font-family: 'Oswald', sans-serif; font-size: 11px; font-weight: bold; color: #d0d3d4;} 
.b1 { font-family: 'Oswald', sans-serif; font-size: 11px; font-weight: bold; color: #e07059;}
.b2 { font-family: 'Oswald', sans-serif; font-size: 11px; font-weight: bold; color: #99d5e4;}
 
 /*Tableau du mag */

.tab {width:504px !important;
 height: 600px :important!;
 box-shadow: 0px 0px 2px rgba(0,0,0,0.2);
 background-color: #fff;
 border: 5px solid #fff;}

.tab0 {width:500px !important;
 margin:auto;}


 /*Colonnes colorées en haut du tableau*/

.tab1 {width: 25%, display:block;
  background-color: #ffc22c;}

.tab2 {width: 25%, display:block;
  background-color: #f79037;}

.tab3 {width: 25%, display:block;
  background-color: #13ada6;}

.tab4 {width: 25%, display:block;
  background-color: #b6d552;}

.tab5 {width: 25%, display:block;
  background-color: #ffc22c;
 height:25px;}

.tab6 {width: 25%, display:block;
  background-color: #f79037;}

.tab7 {width: 25%, display:block;
  background-color: #13ada6;}

.tab8 {width: 25%, display:block;
  background-color: #b6d552;}

 /*Titres*/

.headlight { width: 100%;
  background-color: #fff;
 height:100px;
 font-family: oswald;
 color: #414142 !important;
  text-align: center;
  text-transform: uppercase;
 font-size: 50px;
  font-weight: 700;}

.bottomlight { width: 100%;
  background-color: #fff;
 height:60px;
 font-family: oswald;
 color: #414142 !important;
  text-align: justify;
  text-transform: italic;
 font-size: 14px;
  font-weight: 500;
 line-height: 12px;
 font-style:italic;
 padding: 10px;}

.sub {color:#b6d552;
 display:block;
 font-family: 'Roboto', sans-serif;
 font-size:10px;
 margin-left: auto;
 margin-right: auto;
 text-align:center;
 width:90%;
 text-transform: uppercase;
 padding-top:-150px;
border-bottom:1px solid #13ada6;}

.cimg{
 opacity: 0.7;
 transition-duration: 0.7s;}

.cimg:hover{
 opacity: 1;
 transition-duration: 0.7s;}

 /*Tableau à onglets*/
 .linknav {
  display:block;
  background-color: #c9d852;
  margin:5px;
  padding:5px;
  color: #eeeeec !important;
  text-align: center;
  text-transform: uppercase;
  text-decoration: none;
 font-family: 'Questrial', sans-serif;
  font-size: 14px;
  font-weight: bold;
}

.linknav:hover {
  display:block;
  background-color: #ededea;
  border-bottom: #e1755d 2px solid;
  margin:5px;
  padding:5px;
  color: #e1755d !important;
  text-align: center;
  text-transform: uppercase;
  text-decoration: none;
 font-family: 'Questrial', sans-serif;
  font-size: 14px;
  font-weight: bold;
}


/* par défaut on masque le conenu de l.onglet */
.contenu-onglet, .radio-onglet {
  display: none;
}

/* on affiche l.onglet sélectionné */
.radio-onglet:checked + .contenu-onglet {
  display: block;
}
 
 .credit {color:#b6d552;
 display:block;
 font-family: 'Roboto', sans-serif;
 font-size:10px;
 margin-left: auto;
 margin-right: auto;
 text-align:center;
 width:90%;
 padding-top:-150px;
}
</style>
</head>
<body>



<center>
  <div class="tab">
    <table class="tab0" style="border-spacing : 0px; border-collapse : collapse;">
      <tr>
        <td>
          <table class="tab0" style="border-spacing : 0px; border-collapse : collapse;">
            <tr>
              <td class="tab5"></td>
              <td class="tab6"></td>
              <td class="tab7"></td>
              <td class="tab8"></td>
            </tr>
          </table>
        </td>
      </tr>
      <tr>
        <td>
          <table style="border-spacing : 0px; border-collapse : collapse;" >
            <tr>
              <td class="headlight">Gros titre <br /> <span class="sub">petit slogan bien sympa  </span></td>
            </tr>
            <tr>
              <td>
                <table class="tab0" style="border-spacing : 0px; border-collapse : collapse;">
                  <tr>
                    <td class="tab1"></td>
                    <td class="tab2"></td>
                    <td class="tab3"></td>
                    <td class="tab4"></td>
                  </tr>
                </table>
                <img src="http://img15.hostingpics.net/pics/750110melbournecityscape.png" class="cimg" width="500px"/>
                <table class="tab0" style="border-spacing : 0px; border-collapse : collapse;">
                  <tr>
                    <td class="tab1"></td>
                    <td class="tab2"></td>
                    <td class="tab3"></td>
                    <td class="tab4"></td>
                  </tr>
                </table>
              </td>
            </tr>
            <tr>
              <td>
                <center>
                  <div style="vertical-align:top;background-color: #edefec; border-bottom: 2px solid #ee9507;width:500px">
                    <div style="display:block;padding:5px;color: #eeeeec;text-align:center;font-family: 'oswald', sans-serif;font-size: 16px;font-weight: bold;background-color:#13ada6;border-top: 2px solid #c0ea56;">
                      Edito
                    </div>
                    <div align="justify" style="display:block;height:175px;overflow:auto;background-color: #edefec;padding:2px;margin:2px;font-family: 'Questrial', sans-serif;font-size: 12px;color: #787878;text-align: justify;">
                      <table>
                        <tr>
                          <td>
                            <table>
                              <tr>
                                <td>
                                  <br />
                                  <img src="http://i21.servimg.com/u/f21/19/32/80/36/mytyo10.png" />
                                </td>
                              </tr>
                              <tr>
                                <td>
                                  <center>
                                    <span class="b0">AM</span> <span class="b1">∆ 12° </span><span class="b2"> ∇ 9°</span><br /><span class="b0">PM</span> <span class="b1">∆ 28°</span>  <span class="b2">∇ 21° </span>
                                  </center>
                                </td>
                              </tr>
                            </table>
                          </td>
                          <td style="font-size: 12px;color: #787878;">
                            <div style="text-align: justify;">
                              Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam eget urna condimentum, accumsan augue in, semper augue. Nam hendrerit ligula et posuere commodo. Sed sagittis odio justo, rutrum malesuada lectus convallis et. Fusce felis metus, hendrerit a facilisis ut, laoreet vel mi. Nulla luctus elit dictum, mollis est sed, pretium tortor. Aenean sit amet tincidunt libero. Curabitur tellus leo, fermentum eleifend mattis et, aliquam eget leo. Nullam urna velit, egestas molestie mollis at, efficitur in lorem. Vivamus placerat fringilla odio vel volutpat. Aenean vitae dapibus tellus, eget finibus libero. Sed ipsum quam, tincidunt ac mollis et, lacinia in augue. Mauris nec lacinia odio. Aliquam in aliquet tellus, vitae semper orci.
                            </div>
                          </td>
                        </tr>
                      </table>
                    </div>
                  </div>
                </center>
                <table>
                  <tbody>
                    <tr>
                      <td align="justify" style="background-color: #fe8c21;border-bottom: 2px solid #50c6b6; width: 150px; height: 110px;overflow:auto;font-size: 12px;color: #787878;">
                        <label for="contenu1" class="linknav">Titre 1</label><label for="contenu2" class="linknav">Titre2</label><label for="contenu3" class="linknav">Titre 3</label><label for="contenu4" class="linknav">Titre 4</label><label for="contenu5" class="linknav">Titre 5</label>
                      </td>
                      <td align="justify" style="border-bottom: 2px solid #50c6b6; width: 300px; height: 150px;overflow:auto;font-size: 12px;color: #787878;">
                        <div style="display:block;padding:5px;color: #eeeeec;text-align:center;font-family: 'oswald', sans-serif;font-size: 16px;font-weight: bold;background-color:#13ada6;border-top: 2px solid #c0ea56;">
                          Infos
                        </div>
                        <div align="justify" style="display:block;height:150px;width: 350px;overflow:auto;background-color: #edefec;font-family: 'Questrial', sans-serif;font-size: 12px;color: #787878;">
                          <input type="radio" id="contenu1" checked class="radio-onglet" name="contenu-fiche" /><div class="contenu-onglet">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam eget urna condimentum, accumsan augue in, semper augue. Nam hendrerit ligula et posuere commodo. Sed sagittis odio justo, rutrum malesuada lectus convallis et. Fusce felis metus, hendrerit a facilisis ut, laoreet vel mi. Nulla luctus elit dictum, mollis est sed, pretium tortor. Aenean sit amet tincidunt libero. Curabitur tellus leo, fermentum eleifend mattis et, aliquam eget leo. Nullam urna velit, egestas molestie mollis at, efficitur in lorem. Vivamus placerat fringilla odio vel volutpat. Aenean vitae dapibus tellus, eget finibus libero. Sed ipsum quam, tincidunt ac mollis et, lacinia in augue. Mauris nec lacinia odio. Aliquam in aliquet tellus, vitae semper orci.</div>
                          <input type="radio" id="contenu2" class="radio-onglet" name="contenu-fiche" /><div class="contenu-onglet">Contenu 2 -  Etiam tempus mattis tincidunt. Nulla non scelerisque mi. Cras ultrices est id nibh pellentesque, egestas fringilla magna mollis. Ut et sem volutpat, congue turpis ut, gravida neque. Sed aliquet, massa eu commodo eleifend, ante ligula tempus tortor, a molestie velit velit ac odio. Nunc dictum congue commodo. Quisque luctus sollicitudin maximus. Curabitur fermentum justo vel quam tincidunt, sit amet tristique lectus ultrices. Mauris fringilla est et turpis fermentum, et lobortis massa bibendum. Quisque consectetur, lorem vel elementum ultricies, sem est lobortis mi, ut faucibus nisi est a mauris. Proin ornare lorem sed nisi sollicitudin, nec tincidunt justo laoreet. Aenean facilisis sem in justo ultrices aliquam.</div>
                          <input type="radio" id="contenu3" class="radio-onglet" name="contenu-fiche" /><div class="contenu-onglet">Contenu 3 -  Etiam tempus mattis tincidunt. Nulla non scelerisque mi. Cras ultrices est id nibh pellentesque, egestas fringilla magna mollis. Ut et sem volutpat, congue turpis ut, gravida neque. Sed aliquet, massa eu commodo eleifend, ante ligula tempus tortor, a molestie velit velit ac odio. Nunc dictum congue commodo. Quisque luctus sollicitudin maximus. Curabitur fermentum justo vel quam tincidunt, sit amet tristique lectus ultrices. Mauris fringilla est et turpis fermentum, et lobortis massa bibendum. Quisque consectetur, lorem vel elementum ultricies, sem est lobortis mi, ut faucibus nisi est a mauris. Proin ornare lorem sed nisi sollicitudin, nec tincidunt justo laoreet. Aenean facilisis sem in justo ultrices aliquam.</div>
                          <input type="radio" id="contenu4" class="radio-onglet" name="contenu-fiche" /><div class="contenu-onglet">Contenu 4 -  Etiam tempus mattis tincidunt. Nulla non scelerisque mi. Cras ultrices est id nibh pellentesque, egestas fringilla magna mollis. Ut et sem volutpat, congue turpis ut, gravida neque. Sed aliquet, massa eu commodo eleifend, ante ligula tempus tortor, a molestie velit velit ac odio. Nunc dictum congue commodo. Quisque luctus sollicitudin maximus. Curabitur fermentum justo vel quam tincidunt, sit amet tristique lectus ultrices. Mauris fringilla est et turpis fermentum, et lobortis massa bibendum. Quisque consectetur, lorem vel elementum ultricies, sem est lobortis mi, ut faucibus nisi est a mauris. Proin ornare lorem sed nisi sollicitudin, nec tincidunt justo laoreet. Aenean facilisis sem in justo ultrices aliquam.</div>
                          <input type="radio" id="contenu5" class="radio-onglet" name="contenu-fiche" /><div class="contenu-onglet">Contenu 5 -  Etiam tempus mattis tincidunt. Nulla non scelerisque mi. Cras ultrices est id nibh pellentesque, egestas fringilla magna mollis. Ut et sem volutpat, congue turpis ut, gravida neque. Sed aliquet, massa eu commodo eleifend, ante ligula tempus tortor, a molestie velit velit ac odio. Nunc dictum congue commodo. Quisque luctus sollicitudin maximus. Curabitur fermentum justo vel quam tincidunt, sit amet tristique lectus ultrices. Mauris fringilla est et turpis fermentum, et lobortis massa bibendum. Quisque consectetur, lorem vel elementum ultricies, sem est lobortis mi, ut faucibus nisi est a mauris. Proin ornare lorem sed nisi sollicitudin, nec tincidunt justo laoreet. Aenean facilisis sem in justo ultrices aliquam.</div>
                        </div>
                      </td>
                    </tr>
                  </tbody>
                </table>
              </td>
            </tr>
            <tr>
              <td>
                <table style="cborder-spacing : 0px; border-collapse : collapse;" >
                  <tr>
                    <td class="bottomlight">Maecenas vel libero quis arcu eleifend molestie accumsan eu neque. Suspendisse metus metus, imperdiet vitae turpis vel, semper efficitur velit </td>
                  </tr>
                </table>
                <table class="tab0" style="border-spacing : 0px; border-collapse : collapse;">
                  <tr>
                    <td class="tab5"></td>
                    <td class="tab6"></td>
                    <td class="tab7"></td>
                    <td class="tab8"></td>
                  </tr>
                </table>
                <div class="credit" style="text-align: center;">©️Llunn</div>
              </td>
            </tr>
          </table>
        </td>
      </tr>
    </table>
  </div>
</center>
</body>
</html>


L'iframe



Vous devez placer cette iframe dans un message ou ailleurs selon l'utilisation que vous en faites.

Pensez bien à ajuster la largeur et/ou la hauteur si vous avez fait ces modifications dans le le css qui se trouve dans votre page HTML.


Code:
<iframe frameborder="0" scrolling="no" src="LIEN DE LA PAGE" name="fiche colorée" style="width: 550px; height: 970px; margin: auto; display: block;"></iframe>

Cheshire Cat

Chatbox personnalisée #1 par Cheshire Cat - Mer 6 Juil 2016 - 1:18


Le code n'est pas caché sous balise hide, mais n'hésitez pas à remercier son auteur :)
Lien pour comprendre pourquoi le contenu n'est pas sous hide


Coucou !
Me re-voici donc pour un nouveau dépôt de LS, une chatbox personnalisée et personnalisable :3

Si vous rencontrez un problème avec ce libre service, n'hésitez pas à demander de l'aide dans la section Problème avec mon code. De plus, vous pouvez vous référer à la section Personnalisations si jamais vous n'y connaissez rien en codage et que vous avez du mal à changer les couleurs et autres.


Avec avatar:


Sans avatar:


Pour choisir si votre chatbox affiche les avatars des membres ou non, il faut faire Panneau d'administration > Modules > Chatbox > Configuration > Afficher les avatars des utilisateurs dans la chatbox

Version sans les avatars des membres

Code:
/* CHATBOX PERSONNALISEE */
.chatbox{
  border:none;
}

/* Couleur du texte par défaut (contextmenu / message + heure + liste des membres sans groupe) */
#chatbox, #chatbox_contextmenu, #chatbox_contextmenu a, #chatbox_members {
  color: #000!important;
}

/* Enlever image de fond par défaut */
.chatbox .catBottom { background: transparent; }
#chatbox_header{
  background:#b7a89f;
}
#chatbox_header strong{
  margin-left:10px;
  text-transform:uppercase;
}
#chatbox_header a{
  color: #FFF;
}

/* Liste des membres à droite */
#chatbox_members{
  width:181px;
  background:#e5d9d3;
  margin-bottom:-10px;
  border:none;
}
#chatbox_members .member-title{
  color:#FFF;
  padding:3px;
  margin-top:10px;
  margin-bottom:5px;
}

/* Menu au clic droit du pseudo à droite */
#chatbox_contextmenu{
  background:#FFF;
  font-size:15px;
}
/* Titre de la liste des membres (En ligne) */
#chatbox_members .online{ background:#80aa3e; }

/* Titre de la liste des membres (Hors ligne) */
#chatbox_members .away{ background:#a03a2e; }
/* Partie centrale de la chatbox */
#chatbox{
  background:#FFF;
  margin-bottom:-10px;
}
/* Fond des messages differents */
.chatbox_row_2{ background:#f4ece8!important; }
.chatbox_row_1{ background:transparent!important; }

#chatbox > p{
  margin:0; /* phpbb3 => enlever les marges par défaut */
  border:none!important;
}

/* Barre inférieure de la chatbox */
#chatbox_footer{
  background:#b7a89f;
  padding-bottom:4px;
}

/* Zone d'écriture du message de la chatbox */
.chatbox input{ border:1px solid #6f6660!important; }
#chatbox_footer #submit_button{
  padding-right:2px;
}



Version avec les avatars des membres
Il faut tout bêtement rajouter ce bout de code :)

Code:
/* Mise en forme de l'avatar du membre */
#chatbox .cb-avatar {
  padding:0!important;
  width:50px!important;
  height:50px!important;
  border-radius:50px!important;
  overflow:hidden!important;
  box-shadow: none!important;
  transform: translateZ(0); /* empeche bug Chrome */
}
#chatbox .cb-avatar > img {
  position:relative!important;
  top: -10px;
  width:50px!important;
  height:auto!important;
}

/* Mise en forme de la date */
#chatbox .date-and-time {
  display:inline-block;
  float:none!important;
  margin-left:2px!important;
  margin-top:2px!important;
  margin-bottom:3px!important;
  font-size:12px;
}

/* Mise en forme du pseudo du membre ayant poste */
#chatbox .user { float:left!important; }
#chatbox .user strong {font-size: 0;}
.chatbox-username.chatbox-message-username { font-size: 12px; }

Onyx

Système de Boutique avec filtrage automatique - Lun 4 Juil 2016 - 6:56




Système de Boutique avec filtrage automatique



Salut !

Alors, ce LS vous offrira un système de boutique. Il est composé d'une partie "menu", d'une partie "sélection des articles" et d'une partie "panier".

Le menu permet à l'utilisateur de filtrer les articles pour avoir la sélection des articles qui l'intéresse (toutes les armes qui coûtent moins de 500$ par exemple).

La sélection des articles est la liste des articles disponibles où vous pouvez indiquer le nombre d'articles à acheter et cliquer sur acheter pour que les articles s'ajoutent à votre panier.

Le panier comporte la liste des articles que vous avez choisis ainsi que le total que cela vous coûte. Vous avez l'option d'effacer le contenu du panier ainsi que d'ajouter/retirer un article.

Le système de boutique, une fois le panier rempli, vous permet de cliquer sur "soumettre votre panier", ce qui va poster un message contenant votre commande directement dans le sujet concerné.

PS : Quand je parle d'articles, je parle des trucs à vendre dans la boutique Wink

Pour voir la Boutique en direct : cliquez ici.
Pour voir l'aperçu de la Boutique en image : cliquez ici.


Ce LS est en quatre parties.
  • Tout d'abord, nous allons créer la boutique dans une page HTML.
  • Ensuite, nous allons voir comment la personnaliser.
  • Puis, nous allons activer l'autorisation de recevoir des formulaires externes pour que le formulaire fonctionne.
  • Enfin, nous allons mettre la boutique dans un iframe pour la rendre accessible.


Mettre un crédit vers Never-Utopia est obligatoire.

Merci de laisser un message pour donner vos impressions, commentaires et/ou remerciements ^^




1. Créer la boutique (Page HTML)



Pour commencer, nous allons créer une page HTML dans laquelle nous allons mettre le code de notre boutique.

Pour cela, nous allons aller dans :
> PANNEAU D'ADMINISTRATION
> > MODULES
> > > HTML & JAVASCRIPT
> > > > GESTION DES PAGES HTML

Ensuite, on clique sur le bouton vert "Création en mode avancé (HTML)".
On choisit un titre quelconque.
On coche "Non" aux questions "Voulez-vous utiliser le haut et le bas de page de votre forum ?" et "Utiliser cette page en tant que page d'accueil ?".

On met le code suivant et on enregistre :
Code:
<!DOCTYPE html>
<html lang="fr">
<head>
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  <meta charset="utf-8" />
  <meta name="author" content="Onyx" />
  <title>Boutique</title>
  <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.slim.min.js"></script>
  <link href='https://fonts.googleapis.com/css?family=Dancing+Script' rel='stylesheet' type='text/css' />
  <style type="text/css">
    :root {
   
    /*Couleur background principal*/
    --bg-main: #efefef;
   
    /*Couleur background du titre*/
    --bg-top: #808080;
   
    /*Couleur background des articles*/
    --bg-article: #d3d3d3;
   
    /*Couleur background du panier*/
    --bg-panier: #e3e3e3;
   
    /*Couleur du texte*/
    --color-text: #707070;
   
    /*Couleur du texte pale*/
    --color-text-light: #efefef;
    }
   
    /*Corps*/
    body {
    margin: 0px;
    }
    /*Le bloc entier de la boutique*/
    #boutique {
    position: relative;
    margin: auto;
    max-width: 850px;
    background: var(--bg-main);
    font-size: 1em;
    font-family: 'Times New Roman';
    color: var(--color-text);
    text-align: center;
    }
    /*Le bloc du titre de la boutique*/
    .boutique_top {
    width: 100%;
    background: var(--bg-top);
    padding: 10px;
    font-size: 2em;
    text-align: center;
    color: var(--color-text-light);
    font-family: 'Dancing Script';
    box-sizing: border-box;
    }
    .boutique_reste {
    display: flex;
    flex-wrap: wrap;
    }
    /*Menu de gauche*/
    #menu {
    text-align: left;
    padding: 5px;
    width: 150px;
    border-right: 1px solid #808080;
    display: flex;
    flex-wrap: wrap;
    align-content: flex-start;
    box-sizing: border-box;
    }
    /*Les boutons de tri*/
    .mbutton button, .mbutton {
    display: block;
      margin: 10px auto 0px auto;
    }
    .mlist {
    margin: 15px 0px 0px 10px;
    }
    /*Titres des catégories*/
    .mlist > span {
    display: inline-block;
    margin-bottom: 5px;
    border-bottom: 1px solid #707070;
    font-size: 1.1em;
    }
    /*Liste des options des catégories*/
    #menu ul {
    margin: 0px;
    list-style-type: none;
    padding: 0px;
    }
    /*Option des catégories*/
    #menu ul li {
    }
    /*Partie de droite*/
    .middle {
    width: 700px;
    margin: 10px auto;
    text-align: center;
    }
    #contenu_shoponglet_Autre {display: none;}
    .contenu_shoponglet {
    min-height: 450px;
    max-height: 650px;
    overflow: auto;
    display: flex;
    margin-bottom: 15px;
    flex-wrap: wrap;
    align-content: flex-start;
    justify-content: center;
    }
    .contenu_shoponglet > div {
    margin: 10px;
    }
    /*Bloc qui contient l'article*/
    .article_bloc {
    text-align: center;
    background: var(--bg-article);
    width: 130px;
    padding: 5px;
    color: #565656;
    }
    /*Image de l'article*/
    .article_bloc > img:first-child {
    width: 100px;
    height: 100px;
    }
    /*Nom de l'article*/
    .article_name {
    padding: 5px 0px;
    font-size: 1.02em;
    font-family: 'Cambria';
    font-weight: bold;
    text-transform: uppercase;
    }
    /*Input du nombre d'article à acheter*/
    input[type="number"] {
    display: inline-block;
    max-width: 50px;
    text-align: center;
    margin-bottom: 2px;
    }
    /*Partie du panier*/
    .bottom {
    margin: auto;
    background: var(--bg-panier);
    text-align: center;
    overflow: hidden;
    }
    /*Titre du panier*/
    .bottom_top {
    font-size: 1.8em;
    font-family: 'Dancing Script', script;
    text-align: center;
    padding: 10px;
    background: var(--bg-top);
    color: var(--color-text-light);
    }
    /*Panier visible*/
    #vuepanier {
    margin: 10px auto;
    height: 120px;
    padding: 0px 5px;
    overflow: auto;
    }
    /*Bloc objet dans le panier*/
    .article_input {
    margin-bottom: 5px;
    background: var(--bg-article);
    padding: 2px;
    text-align: left;
    }
    /*Le bloc du nom et prix de l'objet dans le panier*/
    .articleinsidepanier {
    padding-left: 5px;
    }
    /*Les boutons dans le panier*/
    .article_input button, .input_nb_object {
    display: inline-block;
    margin-right: 2px;
    }
    /*La quantité de l'objet dans le panier*/
    .input_nb_object {
    width: 40px;
    text-align: center;
    }
    /*Bouton effacer et soumettre le panier*/
    #soumettrepanier, #effacerpanier {
    display: inline-block;
    margin: 10px auto 5px auto;
    }
    /*Bouton soumettre le panier*/
    #effacerpanier {
    margin-right: 15px;
    }
    /*Credit*/
    .credits {
    display: inline-block;
    font-size: 12px;
    position: absolute;
    width: 200px;
    bottom: 2px;
    left: 5px;
    text-align: left;
    text-decoration: none;
    color: #454545;
    }
    .credits:hover {
    color: #000000;
    }
    /* Sur les écrans de moins de 700px (cellulaires) */
    @media (max-width: 700px) {
      #menu {
        width: 100%;
        border-right: none;
        border-bottom: 1px solid #808080;
      }
      .middle {
        width: 100%;
      }
      .contenu_shoponglet {
        max-height: none;
      }
    }
  </style>
</head>
<body>
  <form enctype="multipart/form-data" name="post" method="post" action="/post" id="boutique" onsubmit="CompleteMessage()" target="_blank">
    <div class="boutique_top">Boutique Alibaba</div>
    <div class="boutique_reste">

      <!-- DÉBUT DU MENU POUR FILTRER -->
      <div id="menu">
        <div class="mbutton">
          <button id="trier2" type="button" onclick="notriage()">Réinitialiser les filtres</button>
          <button id="trier" type="button" onclick="triage()">Filtrer les Articles</button>
        </div>

        <!-- DÉBUT CATÉGORIE TYPE -->
        <div class="mlist">
          <span>Type</span>
          <ul>
            <!-- OPTION #1 -->
            <li>
              <input type="checkbox" name="Arme" />
              Armes
            </li>
            <!-- OPTION #2 -->
            <li>
              <input type="checkbox" name="Armure" />
              Armures
            </li>
            <!-- OPTION #3 -->
            <li>
              <input type="checkbox" name="Accessoire" />
              Accessoires
            </li>
            <!-- OPTION #4 -->
            <li>
              <input type="checkbox" name="Objet" />
              Objets
            </li>
            <!-- OPTION #5 -->
            <li>
              <input type="checkbox" name="Magie" />
              Magie
            </li>
          </ul>
        </div>
        <!-- FIN CATÉGORIE TYPE -->

        <!-- DÉBUT CATÉGORIE PRIX -->
        <div class="mlist">
          <span>Prix</span>
          <ul>
            <!-- OPTION #1 -->
            <li>
              <input type="checkbox" name="Max99" />
              Moins que 100
            </li>
            <!-- OPTION #2 -->
            <li>
              <input type="checkbox" name="100_499" />
              [100 et 499]
            </li>
            <!-- OPTION #3 -->
            <li>
              <input type="checkbox" name="500_999" />
              [500 et 999]
            </li>
            <!-- OPTION #4 -->
            <li>
              <input type="checkbox" name="1000_5000" />
              [1000 et 5000]
            </li>
            <!-- OPTION #5 -->
            <li>
              <input type="checkbox" name="Min5000" />
              Plus de 5000
            </li>
          </ul>
        </div>
        <!-- FIN CATÉGORIE PRIX -->
       
        <!-- DÉBUT CATÉGORIE RARETÉ -->
        <div class="mlist">
          <span>Prix</span>
          <ul>
            <!-- OPTION #1 -->
            <li>
              <input type="checkbox" name="Commun" />
              Commun
            </li>
            <!-- OPTION #2 -->
            <li>
              <input type="checkbox" name="Peucommun" />
              Peu commun
            </li>
            <!-- OPTION #3 -->
            <li>
              <input type="checkbox" name="Rare" />
              Rare
            </li>
            <!-- OPTION #4 -->
            <li>
              <input type="checkbox" name="Tresrare" />
              Très rare
            </li>
            <!-- OPTION #5 -->
            <li>
              <input type="checkbox" name="Unique" />
              Unique
            </li>
          </ul>
        </div>
        <!-- FIN CATÉGORIE RARETÉ -->

      </div>
      <!-- FIN DU MENU POUR TRIER -->

      <div class="middle">
        <div class="contenu_shoponglet" id="contenu_shoponglet_Tout">
         
          <!-- DÉBUT ARTICLE -->
          <div class="Arme Max99 Commun">
            <div class="article_bloc">
              <img src="URL_IMAGE" /><br />
              <span class="article_name">Nom de l'article</span><br />
              Type - Rareté<br />
              Prix : <span class="nbprix">400</span>$<br /><br />
              <input type="number" value="1" min="1" /><br />
              <button class="ajoutprix" type="button">Acheter</button>
            </div>
          </div>

          <div class="Arme Max99 Commun">
            <div class="article_bloc">
              <img src="URL_IMAGE" /><br />
              <span class="article_name">Nom de l'article</span><br />
              Type - Rareté<br />
              Prix : <span class="nbprix">400</span>$<br /><br />
              <input type="number" value="1" min="1" /><br />
              <button class="ajoutprix" type="button">Acheter</button>
            </div>
          </div>
          <!-- FIN ARTICLE -->

        </div>
        <div class="contenu_shoponglet" id="contenu_shoponglet_Autre">
        </div>
     
        <div class="bottom">
          <div class="bottom_top">Mon Panier - <span id="total2">0</span>$</div>
          <div id="vuepanier">Mon panier est vide.</div>
        </div>
        <button id="effacerpanier" type="button" onclick="effacer()">Effacer mon panier</button>
        <input type="submit" id="soumettrepanier" value="Soumettre mon panier" name="post" />
        <textarea name="message" id="message" style="display:none"></textarea>
        <input type="hidden" value="reply" name="mode" />
        <input type="hidden" value="70" name="t" />
        <a class="credits" href="https://www.never-utopia.com/forum" target="_blank">Never-Utopia</a>
      </div>
    </div>
  </form>
<script type="text/javascript">
  //<!--
  let totalbase = 0;
  $('#total2').html(totalbase);
  let totaltotal = 0;
 
  // Quand on ajoute un article au panier
  $('.ajoutprix').click(function() {
    let prix = parseInt($(this).parent().find('.nbprix:first').html());
    let qt = parseInt($(this).parent().find('input:first').val());
    let nomarticle = $(this).parent().find('.article_name:first').html();
    if ($('#vuepanier').find('.thename:contains("'+nomarticle+'")').length > 0) {
      $('#vuepanier').find('.thename:contains("'+nomarticle+'"):first').closest('.article_input').remove();
    }
    let phrase = "<div class='article_input'>" +
      "<button type='button' class='button_delete' onclick='deleteqtarticle(this)'>x</button>" +
      "<button type='button' class='button_moins' onclick='removeqtarticle(this)'>-</button>" +
      "<input type='text' class='input_nb_object' value='"+qt+"' data-prix='"+prix+"' onchange='calcultotal()'></input>" +
      "<button type='button' class='button_plus' onclick='addqtarticle(this)'>+</button>" +
      "<span class='articleinsidepanier'><span class='thename'>"+nomarticle+"</span>" +
      " à <span class='thepriceinside'>"+prix+"</span>$</div>";
    if ($('#vuepanier').html() != "Mon panier est vide.") {
      phrase = $('#vuepanier').html() + phrase;
    }
    $('#vuepanier').html(phrase);
    calcultotal();
  });
 
  // Ajouter un article déjà dans le panier
  function addqtarticle(learticle) {
    let articleval = parseInt($(learticle).prev().val());
    $(learticle).prev().val((articleval + 1));
    calcultotal();
  }
 
  // Enlever un article déjà dans le panier
  function removeqtarticle(learticle) {
    let articleval = parseInt($(learticle).next().val());
    $(learticle).next().val((articleval - 1));
    if (articleval == 1) {
      $(learticle).parent().remove();
    }
    calcultotal();
  }
 
  // Supprimer un article déjà dans le panier
  function deleteqtarticle(learticle) {
    $(learticle).parent().remove();
    calcultotal();
  }
 
  // Fonction pour calculer
  function calcultotal() {
    totaltotal = 0;
    $('.article_input').each(function(){
      let leprix = parseInt($(this).find('.input_nb_object:first').attr('data-prix'));
      let lenb = parseInt($(this).find('.input_nb_object:first').val());
      totaltotal = totaltotal + (leprix*lenb);
    });
    if ($('#vuepanier').html().length < 1) {
      $('#vuepanier').html("Mon panier est vide.");
      $('#total2').html(totalbase);
    }
    else {
      $('#total2').html(totaltotal);
    }
  }
 
  // Fonction pour effacer le panier
  function effacer() {
    $('#vuepanier').html("Mon panier est vide.");
    $('#total2').html(totalbase);
  }
 
  // Fonction pour poster le message
  function CompleteMessage() {
    let thetotalprice = totaltotal;
    let lemessage = "Bonjour,<br /><br />J'aimerais acheter les articles suivants s'il vous plaît :<br />";
    $('.article_input').each(function(){
      let theprice = parseInt($(this).find('.input_nb_object:first').attr('data-prix'));
      let thesupername = $(this).find('.thename:first').html();
      let thequant = parseInt($(this).find('.input_nb_object:first').val());
      lemessage = lemessage + "<br /> - "+thequant+" "+thesupername+" à "+theprice+"$";
    });
    lemessage = lemessage + "<br /><br />Le coût total de ma commande est de : "+thetotalprice+"$.";
    $('#message').val(lemessage);
  }
  //-->
</script>
<script type="text/javascript">
  //<!--
  // Nombre de catégories
  let nbtype = $('#menu').find('ul').length;
 
  // Fonction pour effacer le tri
  function notriage() {
    $('#menu').find('input:checked').prop('checked', false);
    $('#contenu_shoponglet_Tout').css('display', 'flex');
    $('#contenu_shoponglet_Autre').css('display', 'none');
  }
 
  // Fonction du tri
  function triage() {
    // On se débarrasse des articles déjà triés
    $('#contenu_shoponglet_Autre').html('');
    // Si aucune case est cochée, on a l'affichage de base
    if ($('#menu').find('input:checked').length < 1) {
      notriage();
    }
    else {
      // Tableau qui va contenir toutes les cases cochées
      let validation = [];
      /// Pour chaque catégorie on regarde s'il y a les cases cochée et on les met dans le tableau par catégorie
      for (i=0; i < nbtype; i++) {
        validation[i] = [];
        let lescases = $('#menu ul').eq(i).find('input:checked');
        for (y=0; y < lescases.length; y++) {
          validation[i][y] = lescases.eq(y).attr('name');
        }
      }
      // Pour chaque objet, on va faire la validation pour voir si on la prend
      let lesarticles = $('#contenu_shoponglet_Tout > div');
      // Pour chaque article
      for (i=0; i < lesarticles.length; i++) {
        let leok = 'No';
        let learticle = lesarticles.eq(i);
        // On regarde chaque catégorie
        for (y=0; y < nbtype; y++) {
          // Si la catégorie a des cases cochées, on autorise si l'article a la  d'une des class
          if (validation[y].length > 0) {
            let leok1 = 'No';
            for (x=0; x < validation[y].length; x++) {
              if (learticle.hasClass(validation[y][x])) {
                leok1 = "Oui";
                x = validation[y].length;
              }
            }
            if (leok1 == 'No') {
              y = nbtype;
              leok = 'No';
            }
            else {
              leok = 'Oui';
            }
          }
        }
        // L'objet fait partie des options, on l'ajoute dans la liste d'objets triés
        if (leok == 'Oui') {
          $('#contenu_shoponglet_Autre').append(learticle.clone(true));
        }
      }
      // On fait disparaître la liste des objets pour apparaître celle des objets triés
      $('#contenu_shoponglet_Tout').css('display', 'none');
      $('#contenu_shoponglet_Autre').css('display', 'flex');
      //S'il y a 0 article à droite après le tri, on dit qu'il y a 0 résultat
      let pasarticle = $('#contenu_shoponglet_Autre').children().length;
      if (pasarticle < 1) {
        $('#contenu_shoponglet_Autre').html('Aucun résultat ne correspond à votre recherche.');
      }
    }
  }
  //-->
</script>
</body>
</html>


Lorsque vous modifiez votre formulaire, il faut cliquer sur le triple engrenage (Tag css sur Never Utopia - graphisme, codage et game design - Page 3 HAHlEmt), pas l'engrenage normal. Sinon, cela va se déformer d'une façon très très horrible.


Une fois le code mis et enregistré, vous aurez une petite modification à faire.

Vous devrez créer un sujet, sur votre forum, où les gens pourront passer leurs commandes. Puis, vous regardez l'adresse de la page. Juste après le nom de votre forum, il y aura ceci : "/t" avec un nombre qui suit. Le nombre correspond à l'id spécifique de ce sujet.

Vous devez copier ce nombre et venir remplace le 70 à cet endroit :
Code:
   <input type="hidden" value="70" name="t" />


Cela va permettre que le message des utilisateurs de la boutique soit posté dans le bon sujet.




2. Personnaliser la boutique



Alors, si on résume, la boutique est composé d'une partie "menu", d'une partie "sélection des articles" et d'une partie "panier".

Le menu permet à l'utilisateur de trier les articles pour avoir la sélection d'articles qui l'intéresse (toutes les armes qui coûtes moins de 500$ par exemple). La sélection d'articles est la liste des articles disponibles où vous pouvez indiquer le nombre d'articles à acheter et cliquer sur acheter pour que les articles s'ajoutent à votre panier. Le panier comporte la liste des articles que vous avez choisis ainsi que le total que cela vous coûte. Vous avez l'option de réinitialiser le panier.

Dans le menu, il y a plusieurs catégories et chaque catégorie a un certain nombre d'options.


Voilà un exemple de 1 catégorie avec 5 options :
Code:
        <!-- DÉBUT CATÉGORIE RARETÉ -->
        <div class="mlist">
          <span>Prix</span>
          <ul>
            <!-- OPTION #1 -->
            <li>
              <input type="checkbox" name="Commun" />
              Commun
            </li>
            <!-- OPTION #2 -->
            <li>
              <input type="checkbox" name="Peucommun" />
              Peu commun
            </li>
            <!-- OPTION #3 -->
            <li>
              <input type="checkbox" name="Rare" />
              Rare
            </li>
            <!-- OPTION #4 -->
            <li>
              <input type="checkbox" name="Tresrare" />
              Très rare
            </li>
            <!-- OPTION #5 -->
            <li>
              <input type="checkbox" name="Unique" />
              Unique
            </li>
          </ul>
        </div>
        <!-- FIN CATÉGORIE RARETÉ -->


Le premier span est le nom de la catégorie. Ensuite, on a une liste qui contient les options.

Ensuite, chaque option est sous cette forme :
Code:
            <!-- OPTION # -->
            <li>
              <input type="checkbox" name="Unique" />
              Unique
            </li>


Dans le "name" du champ à cocher (le "input"), vous avez le mot "Unique".

Ce mot, "Unique", permet d'identifier cette option et permettra aussi d'identifier l'article qui y appartiendra alors il est important de prendre en note comment c'est écrit et de s'assurer que c'est la seule option qui a ce nom.

Le "name" ne peut pas contenir d'espace, de guillemet, d'apostrophe, de ponctuation ou de caractères spéciaux.


Donc si je résume rapidement, chaque option à son propre "name" qui appartient uniquement à cette option et qui ne doit pas se répéter ailleurs.




Ensuie, on passe à la section où il y a tous les articles (contenu d'onlglet "Tout"). Vous y trouverez des articles sous cette forme :
Code:
          <div class="Arme Armure Max99 Commun">
            <div class="article_bloc">
              <img src="URL_IMAGE" /><br />
              <span class="article_name">Nom de l'article</span><br />
              Type - Rareté<br />
              Prix : <span class="nbprix">400</span>$<br /><br />
              <input type="number" value="1" min="1" /><br />
              <button class="ajoutprix" type="button">Acheter</button>
            </div>
          </div>


Vous voyez que la classe de la première div contient plusieurs classes :
Code:
<div class="Arme Armure Max99 Commun">


Ces classes correspondent aux options auxquelles l'article appartient. Du coup, quand vous créez votre article, vous devez vous rendre dans les options et regarder quel "name" vous avez mis pour identifier les options auxquelles l'article appartient et vous le mettez dans la classe de l'article.

Un article peut appartenir à plusieurs options de catégories différentes et même d'une même catégorie.

Ici, j'ai 3 classes parce que l'article appartient à 4 options, soit "Arme", "Armure", "Max99" et "Commun". Cela veut dire que l'article sera sélectionné si on coche une ou plusieurs des options : "Arme", "Armure", "Moins de 100$" et "Commun".

Vous pouvez changez l'image de l'article en mettant le lien de votre image dans "URL IMAGE".
Vous pouvez également changer le nom de l'article et ses attributs (Type, rareté).
Vous devez remplacer le XXX par le prix individuel (en chiffres, tous collés) de l'article.




Avec ces informations, vous devriez être capable de personnaliser le reste par vous-même, soit optimiser le menu avec les catégories et options que vous voulez ainsi qu'ajouter les articles Wink




3. Activer les formulaires externes



Il y a une vérification par Forumactif qui a pour but d'éviter le spam et qui bloque les messages créés dans des formulaires qui ne sont pas ceux de base de Forumactif. Du coup, si vous ne suivez pas cette étape, le formulaire rempli vous retournera sur une page qui dira "erreur technique n°230" à la place d'envoyer directement le message.

Pour éviter cela, vous devez vous rendre sur :
> Panneau d'administration
> > Général
> > > Forum
> > > > Sécurité

Et vous devez cocher "Non" à la question "Interdire les formulaires non officiels à poster des messages et messages privés sur le forum". Vous enregistrez et c'est fait !

L'erreur n°230 ne devrait maintenant plus vous causer problème ~




4. Mettre la boutique dans un iframe



Maintenant que la page HTML est créée avec la boutique, il faut la mettre accessible aux membres.

Pour cela, vous devez vous rendre là où vous voulez que la boutique soit et y mettre le code suivant :
Code:
<iframe style="display: block; height: 1000px; width: 850px; margin: auto;" src="LIEN DE LA PAGE HTML" frameborder="0"></iframe>


Comme vous pouvez le deviner, il faut mettre le lien de la page HTML là où c'est écrit. Mais peut-être que vous vous demandez d'où sort ce lien? Ce n'est pas trop compliqué ^^

Quand on va dans la gestion de nos pages HTML, la dernière qui a été enregistrée (donc normalement, votre boutique), se trouve en haut de la liste. Il vous suffit de copier l'url de votre page HTML et de la mettre là où nous l'avons vu ci-haut. C'est vraiment écrit "URL DU LIEN", alors vous ne pouvez pas vous tromper Wink

Il se peut que vous ayez à modifier la largeur (width) ou la hauteur (height) pour éviter qu'il y ait des barres de défilement (scroll)





C'est tout! Si jamais vous avez des problèmes avec ce LS, n'hésitez pas à passer dans Un problème avec mon code ou Personnalisations si vous avez besoin d'aide pour personnaliser le code.

À plus !

Onyx

Bestiaire et Herbier avec triage - Lun 4 Juil 2016 - 6:55




Bestiaire et Herbier avec triage


Salut !

Suite à la demande de Myosotis (qui s'était inspiré de ce bestiaire et cet herbier faits par Kamuy Sinen), j'ai fait un bestiaire et un herbier. Pour ceux qui ne le savent pas, un herbier est un recueil des végétaux d'un certain territoire. Quant au bestiaire, il s'agit d'un recueil des animaux/créatures d'un territoire.

Pour voir l'aperçu du Bestiaire : cliquez ici.
Pour voir l'aperçu de l'Herbier : cliquez ici.

Effet spécial 1
Quand on clique sur une catégorie, les animaux/végétaux sont triés et seuls ceux de la catégorie que vous avez sélectionnée apparaîssent. Vous pouvez personnaliser le code pour mettre les catégories que vous souhaitez.

Effet spécial 2
Si vous avez trop d'options dans le menu, vous pouvez rajouter un petit script qui vous permettra de réduire les menus et de les ouvrir en cliquant dessus pour qu'ils prennent moins de place.


Ce LS est en quatre parties.
  • Tout d'abord, nous allons créer le bestiaire/herbier dans une page HTML.
  • Ensuite, nous allons voir comment le personnaliser.
  • Puis, nous allons voir comment ajouter l'option pour que les menus soient réduits.
  • Enfin, nous allons mettre le bestiaire/herbier dans un iframe pour le rendre accessible.


Laisser le crédit vers Never-Utopia est obligatoire.


Merci de laisser un message pour donner vos impressions, commentaires et/ou remerciements ^^



1. Créer le bestiaire/herbier (Page HTML)


Pour commencer, nous allons créer une page HTML dans laquelle nous allons mettre le code de notre bestiaire/herbier.

Pour cela, nous allons aller dans :
> PANNEAU D'ADMINISTRATION
> > MODULES
> > > HTML & JAVASCRIPT
> > > > GESTION DES PAGES HTML

Ensuite, on clique sur le bouton vert "Création en mode avancé (HTML)".
On choisit un titre quelconque.
On coche "Non" aux questions "Voulez-vous utiliser le haut et le bas de page de votre forum ?" et "Utiliser cette page en tant que page d'accueil ?".

Pour le bestiaire, on met le code suivant et on enregistre :
Code:
<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8" />
  <meta name="author" content="Onyx" />
  <title>Bestiaire</title>
  <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8/jquery.min.js"></script>
  <script type="text/javascript" src="http://tinyurl.com/var-fa"></script>
  <link href="https://fonts.googleapis.com/css?family=Homemade+Apple|Architects+Daughter" rel="stylesheet" />
  <style type="text/css">
    /*Corps*/
    body {
    margin: 0px;
    background: #553723 url('https://i.imgur.com/SqXjFPo.jpg');
    background-size: cover;
    }
    /*Le bloc entier du bestiaire*/
    #bestiaire {
    position: relative;
    padding-bottom: 10px;
    height: 590px;
    margin: 10px auto;
    width: 885px;
    overflow: hidden;
    background: url('https://i.imgur.com/lGDeQnZ.png');
    font-size: 13px;
    font-family: 'Homemade Apple', cursive;
    color: #705733;
    }
    /*Menu de gauche*/
    #menu {
    float: left;
    margin: 30px 0px 0px 80px;
    width: 350px;
    }
    .one_menu {
    float: left;
    margin: 0px 5px 5px 5px;
    width: 165px;
    }
    /*Titres des catégories*/
    .menu_title {
    display: inline-block;
    margin-left: 20px;
    border-bottom: 1px solid #705733;
    color: #705733;
    font-weight: bold;
    font-size: 14px;
    }
    #menu ul {
    margin-top: 5px;
    margin-bottom: 10px;
    }
    .menus + ul {
    overflow: hidden;
    transition: 0.8s;
    -webkit-transition: 0.5s;
    }
    /*Images pour les menus rétrécis*/
    .menus img {
    display: none;
    position: relative;
    bottom: -10px;
    opacity: 0.8;
    }
    /*Catégories*/
    .bestonglet {
    margin-left: -20px;
    color: #705733;
    list-style-type: circle;
    }
    /*Catégories non-actives*/
    .bestonglet_0 {
    cursor: pointer;
    transition: 0.5s;
    -webkit-transition: 0.5s;
    }
    /*Catégories non-actives survolées*/
    .bestonglet_0:hover {
    margin-left: -10px;
    }
    /*Catégorie active*/
    .bestonglet_1 {
    margin-left: -10px;
    color: #2b2010;
    font-weight: bold;
    }
    /*Partie de droite*/
    #middle {
    float: right;
    width: 330px;
    margin: 30px 85px 0px 0px;
    height: 465px;
    text-align: center;
    }
    /*Cache le contenu des catégories non-actives*/
    .contenu_bestonglet {
    display: none;
    height: 465px;
    padding-right: 5px;
    overflow: auto;
    }
    /*Center les créatures*/
    .contenu_bestonglet > div {
    margin: 0px auto;
    padding: 10px 0px;
    font-family: 'Architects Daughter', cursive;
    font-size: 14px;
    border-top: 5px double #705733;
    }
    /*Center les créatures*/
    .contenu_bestonglet > div:nth-child(1) {
    padding: 0px 0px 10px 0px;
    border-top: none;
    }
    /*Nom de créature*/
    .creature_name {
    margin: auto;
    color: #a68e68;
    text-shadow: -1px -1px 1px #000000;
    font-size: 24px;
    font-family: cambria;
    text-transform: uppercase;
    }
    /*Bloc de créacture sous le nom*/
    .creature_bloc {
    margin: auto;
    }
    /*Image de créature*/
    .creature_bloc > img:first-child {
    margin: auto;
    width: 300px;
    border: 2px solid #705733;
    height: 150px;
    }
    /*Bloc de description de créature*/
    .creature_in {
    margin: auto;
    text-align: center;
    width: 300px;
    }
    /*Caractéristiques de la créature*/
    .creature_caract {
    font-weight: bold;
    }
    /*Partie de droite de la description de créature*/
    .creature_desc {
    text-align: justify;
    }
    /*Credit*/
    .credits {
    font-size: 12px;
    position: absolute;
    width: 200px;
    bottom: 30px;
    left: 150px;
    font-family: verdana;
    color: #503713;
    }
    a {
    text-decoration: none;
    color: #503713;
    }
    a:hover {
    color: darkred;
    }
  </style>
  <script type="text/javascript">
    //<!--
      $(function() {
        /*Tableau qui va contenir tous les noms de catégories*/
        var nom = [];
        /*Total de noms de catégories*/
        var nbnoms = $('#menu').find('li span').length;
        /*On met les noms de catégories dans le tableau*/
        for (i = 0; i < nbnoms; i++) {
          nom[i] = $('#menu').find('li span').eq(i).attr('class');
        }
        /*Nombre de bêtes*/
        var nbbetes = $('#contenu_bestonglet_Tout').children('div').length;
        /*Pour chaque catégories, on va regarder chaque bête pour les trier dans les bonnes catégories*/
        for (i = 0; i < nbnoms; i++) {
          var nom2 = nom[i];
          for (y = 0; y < nbbetes; y++) {
            var nom3 = $('#contenu_bestonglet_Tout').children('div').eq(y);
            if (nom3.hasClass(nom2)) {
              var copiecrea = nom3.clone(true);
              var oucoller = $('#contenu_bestonglet_'+nom2);
              $(copiecrea).appendTo(oucoller);
            }
          }
        }
      });
    //-->
  </script>
  <script type="text/javascript">
    //<!--
    function change_bestonglet(name) {
        document.getElementById('bestonglet_'+anc_bestonglet).className = 'bestonglet_0 bestonglet';
        document.getElementById('bestonglet_'+name).className = 'bestonglet_1 bestonglet';
        document.getElementById('contenu_bestonglet_'+anc_bestonglet).style.display = 'none';
        document.getElementById('contenu_bestonglet_'+name).style.display = 'block';
        anc_bestonglet = name;
      }
    //-->
  </script>
</head>
<body>
  <div id="bestiaire">
    <div class="credits">Par Onyx de <a href="http://www.never-utopia.com/forum" target="_blank" >Never-Utopia</a></div>
    <div id="menu">

      <!-- DÉBUT 1ERE LISTE -->
      <div class="one_menu">
        <span class="menu_title menus">Type<img src="http://img4.hostingpics.net/pics/606073iconarrowdownb128.png" alt="Image à remplacer" /></span>
        <ul>
          <li class="bestonglet_1 bestonglet" id="bestonglet_Tout" onclick="javascript:change_bestonglet('Tout');">
            <span class="Tout">Tous les types</span>
          </li>
          <li class="bestonglet_0 bestonglet" id="bestonglet_Mammi" onclick="javascript:change_bestonglet('Mammi');">
            <span class="Mammi">Mammifères</span>
          </li>
          <li class="bestonglet_0 bestonglet" id="bestonglet_Oiseaux" onclick="javascript:change_bestonglet('Oiseaux');">
            <span class="Oiseaux">Oiseaux</span>
          </li>
          <li class="bestonglet_0 bestonglet" id="bestonglet_Poissons" onclick="javascript:change_bestonglet('Poissons');">
            <span class="Poissons">Poissons</span>
          </li>
          <li class="bestonglet_0 bestonglet" id="bestonglet_Reptiles" onclick="javascript:change_bestonglet('Reptiles');">
            <span class="Reptiles">Reptiles</span>
          </li>
          <li class="bestonglet_0 bestonglet" id="bestonglet_Amphibiens" onclick="javascript:change_bestonglet('Amphibiens');">
            <span class="Amphibiens">Amphibiens</span>
          </li>
          <li class="bestonglet_0 bestonglet" id="bestonglet_Insectes" onclick="javascript:change_bestonglet('Insectes');">
            <span class="Insectes">Insectes et Arachnides</span>
          </li>
        </ul>
      </div>
      <!-- FIN 1ERE LISTE -->

      <!-- DÉBUT 2E LISTE -->
      <div class="one_menu">
        <span class="menu_title menus">Habitat<img src="http://img4.hostingpics.net/pics/606073iconarrowdownb128.png" alt="Image à remplacer" /></span>
        <ul>
          <li class="bestonglet_0 bestonglet" id="bestonglet_Jungle" onclick="javascript:change_bestonglet('Jungle');">
            <span class="Jungle">Jungle</span>
          </li>
          <li class="bestonglet_0 bestonglet" id="bestonglet_Plaines" onclick="javascript:change_bestonglet('Plaines');">
            <span class="Plaines">Plaines</span>
          </li>
          <li class="bestonglet_0 bestonglet" id="bestonglet_Foret" onclick="javascript:change_bestonglet('Foret');">
            <span class="Foret">Forêt</span>
          </li>
          <li class="bestonglet_0 bestonglet" id="bestonglet_Montagne" onclick="javascript:change_bestonglet('Montagne');">
            <span class="Montagne">Montagne</span>
          </li>
          <li class="bestonglet_0 bestonglet" id="bestonglet_Glace" onclick="javascript:change_bestonglet('Glace');">
            <span class="Glace">Glaciers</span>
          </li>
          <li class="bestonglet_0 bestonglet" id="bestonglet_Desert" onclick="javascript:change_bestonglet('Desert');">
            <span class="Desert">Désert</span>
          </li>
          <li class="bestonglet_0 bestonglet" id="bestonglet_Volcan" onclick="javascript:change_bestonglet('Volcan');">
            <span class="Volcan">Volcan</span>
          </li>
          <li class="bestonglet_0 bestonglet" id="bestonglet_Ocean" onclick="javascript:change_bestonglet('Ocean');">
            <span class="Ocean">Océans et Mers</span>
          </li>
          <li class="bestonglet_0 bestonglet" id="bestonglet_Lac" onclick="javascript:change_bestonglet('Lac');">
            <span class="Lac">Lacs et Rivières</span>
          </li>
        </ul>
      </div>
      <!-- FIN 2E LISTE -->
      <div style="clear: both;"></div>

      <!-- DÉBUT 3E LISTE -->
      <div class="one_menu">
        <span class="menu_title menus">Rareté<img src="http://img4.hostingpics.net/pics/606073iconarrowdownb128.png" alt="Image à remplacer" /></span>
        <ul>
          <li class="bestonglet_0 bestonglet" id="bestonglet_Commun" onclick="javascript:change_bestonglet('Commun');">
            <span class="Commun">Commun</span>
          </li>
          <li class="bestonglet_0 bestonglet" id="bestonglet_Rare" onclick="javascript:change_bestonglet('Rare');">
            <span class="Rare">Rare</span>
          </li>
          <li class="bestonglet_0 bestonglet" id="bestonglet_Tresrare" onclick="javascript:change_bestonglet('Tresrare');">
            <span class="Tresrare">Très rare</span>
          </li>
          <li class="bestonglet_0 bestonglet" id="bestonglet_Myth" onclick="javascript:change_bestonglet('Myth');">
            <span class="Myth">Mythique</span>
          </li>
        </ul>
      </div>
      <!-- FIN 3E LISTE -->

      <!-- DÉBUT 4E LISTE -->
      <div class="one_menu">
        <span class="menu_title menus">Dangerosité<img src="http://img4.hostingpics.net/pics/606073iconarrowdownb128.png" alt="Image à remplacer" /></span>
        <ul>
          <li class="bestonglet_0 bestonglet" id="bestonglet_Ino" onclick="javascript:change_bestonglet('Ino');">
            <span class="Ino">Inoffensif</span>
          </li>
          <li class="bestonglet_0 bestonglet" id="bestonglet_Faible" onclick="javascript:change_bestonglet('Faible');">
            <span class="Faible">Faible</span>
          </li>
          <li class="bestonglet_0 bestonglet" id="bestonglet_Danger" onclick="javascript:change_bestonglet('Danger');">
            <span class="Danger">Dangereux</span>
          </li>
          <li class="bestonglet_0 bestonglet" id="bestonglet_Mortel" onclick="javascript:change_bestonglet('Mortel');">
            <span class="Mortel">Mortel</span>
          </li>
        </ul>
      </div>
      <!-- FIN 4E LISTE -->

      <div style="clear: both;"></div>
    </div>
    <div id="middle">
      <div class="contenu_bestonglet" id="contenu_bestonglet_Tout">
       
      <!-- DÉBUT 1ER ANIMAL -->
        <div class="Mammi Jungle Commun Ino">
          <div class="creature_name">Nom de l'animal</div>
          <div class="creature_bloc">
            <img src="http://img15.hostingpics.net/pics/923631761.png" />
            <div class="creature_in">
              <div class="creature_caract">
                Mammifère - Jungle - Commun - Inoffensif
              </div>
              <div class="creature_desc">
                Saraceni tamen nec amici nobis umquam nec hostes optandi, ultro citroque discursantes quicquid inveniri poterat momento temporis parvi vastabant milvorum rapacium similes, qui si praedam dispexerint celsius, volatu rapiunt celeri, aut nisi impetraverint, non inmorantur.
              </div>
            </div>
          </div>
        </div>
        <!-- FIN 1ER ANIMAL -->
       
        <!-- DÉBUT 2E ANIMAL -->
        <div class="Mammi Plaines Rare Faible">
          <div class="creature_name">Nom de l'animal</div>
          <div class="creature_bloc">
            <img src="http://img15.hostingpics.net/pics/169146302.png" />
            <div class="creature_in">
              <div class="creature_caract">
                Mammifère - Plaines - Rare - Faible
              </div>
              <div class="creature_desc">
                Saraceni tamen nec amici nobis umquam nec hostes optandi, ultro citroque discursantes quicquid inveniri poterat momento temporis parvi vastabant milvorum rapacium similes, qui si praedam dispexerint celsius, volatu rapiunt celeri, aut nisi impetraverint, non inmorantur.
              </div>
            </div>
          </div>
        </div>
        <!-- FIN 2E ANIMAL -->

        <!-- DÉBUT 3E ANIMAL -->
        <div class="Oiseaux Foret Tresrare Danger">
          <div class="creature_name">Nom de l'animal</div>
          <div class="creature_bloc">
            <img src="http://img15.hostingpics.net/pics/380578583.png" />
            <div class="creature_in">
              <div class="creature_caract">
                Oiseau - Forêt - Très rare - Dangereux
              </div>
              <div class="creature_desc">
                Saraceni tamen nec amici nobis umquam nec hostes optandi, ultro citroque discursantes quicquid inveniri poterat momento temporis parvi vastabant milvorum rapacium similes, qui si praedam dispexerint celsius, volatu rapiunt celeri, aut nisi impetraverint, non inmorantur.
              </div>
            </div>
          </div>
        </div>
        <!-- FIN 3E ANIMAL -->

      </div>

      <div class="contenu_bestonglet" id="contenu_bestonglet_Mammi"></div>
      <div class="contenu_bestonglet" id="contenu_bestonglet_Oiseaux"></div>
      <div class="contenu_bestonglet" id="contenu_bestonglet_Poissons"></div>
      <div class="contenu_bestonglet" id="contenu_bestonglet_Reptiles"></div>
      <div class="contenu_bestonglet" id="contenu_bestonglet_Amphibiens"></div>
      <div class="contenu_bestonglet" id="contenu_bestonglet_Insectes"></div>
      <div class="contenu_bestonglet" id="contenu_bestonglet_Jungle"></div>
      <div class="contenu_bestonglet" id="contenu_bestonglet_Plaines"></div>
      <div class="contenu_bestonglet" id="contenu_bestonglet_Foret"></div>
      <div class="contenu_bestonglet" id="contenu_bestonglet_Montagne"></div>
      <div class="contenu_bestonglet" id="contenu_bestonglet_Glace"></div>
      <div class="contenu_bestonglet" id="contenu_bestonglet_Desert"></div>
      <div class="contenu_bestonglet" id="contenu_bestonglet_Volcan"></div>
      <div class="contenu_bestonglet" id="contenu_bestonglet_Ocean"></div>
      <div class="contenu_bestonglet" id="contenu_bestonglet_Lac"></div>
      <div class="contenu_bestonglet" id="contenu_bestonglet_Commun"></div>
      <div class="contenu_bestonglet" id="contenu_bestonglet_Rare"></div>
      <div class="contenu_bestonglet" id="contenu_bestonglet_Tresrare"></div>
      <div class="contenu_bestonglet" id="contenu_bestonglet_Myth"></div>
      <div class="contenu_bestonglet" id="contenu_bestonglet_Ino"></div>
      <div class="contenu_bestonglet" id="contenu_bestonglet_Faible"></div>
      <div class="contenu_bestonglet" id="contenu_bestonglet_Danger"></div>
      <div class="contenu_bestonglet" id="contenu_bestonglet_Mortel"></div>

    </div>
    <div style="clear: both;"></div>
  </div>
<script type="text/javascript">
  //<!--
    var anc_bestonglet = 'Tout';
    change_bestonglet(anc_bestonglet);
  //-->
</script>
</body>
</html>


Pour l'herbier, on met le code suivant et on enregistre :
Code:
<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8" />
  <meta name="author" content="Onyx" />
  <title>Herbier</title>
  <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8/jquery.min.js"></script>
  <script type="text/javascript" src="http://tinyurl.com/var-fa"></script>
  <link href="https://fonts.googleapis.com/css?family=Homemade+Apple|Architects+Daughter" rel="stylesheet" />
  <style type="text/css">
    /*Corps*/
    body {
    margin: 0px;
    background: #553723 url('https://i.imgur.com/7o3NfUu.jpg');
    background-size: cover;
    }
    /*Le bloc entier du herbier*/
    #herbier {
    position: relative;
    padding-bottom: 10px;
    height: 590px;
    margin: 10px auto;
    width: 885px;
    overflow: hidden;
    background: url('https://i.imgur.com/ftCwlW2.png');
    font-size: 13px;
    font-family: 'Homemade Apple', cursive;
    color: #0f5228;
    }
    /*Menu de gauche*/
    #menu {
    float: left;
    margin: 30px 0px 0px 80px;
    width: 350px;
    }
    .one_menu {
    float: left;
    margin: 0px 5px 5px 5px;
    width: 165px;
    }
    /*Titres des catégories*/
    .menu_title {
    display: inline-block;
    margin-left: 20px;
    border-bottom: 1px solid #0f5228;
    color: #0f5228;
    font-weight: bold;
    font-size: 14px;
    }
    #menu ul {
    margin-top: 5px;
    margin-bottom: 10px;
    }
    .menus + ul {
    overflow: hidden;
    transition: 0.8s;
    -webkit-transition: 0.5s;
    }
    /*Images pour les menus rétrécis*/
    .menus img {
    display: none;
    position: relative;
    bottom: -10px;
    opacity: 0.8;
    }
    /*Catégories*/
    .herbonglet {
    margin-left: -20px;
    color: #0f5228;
    list-style-type: circle;
    }
    /*Catégories non-actives*/
    .herbonglet_0 {
    cursor: pointer;
    transition: 0.5s;
    -webkit-transition: 0.5s;
    }
    /*Catégories non-actives survolées*/
    .herbonglet_0:hover {
    margin-left: -10px;
    }
    /*Catégorie active*/
    .herbonglet_1 {
    margin-left: -10px;
    color: #093319;
    font-weight: bold;
    }
    /*Partie de droite*/
    #middle {
    float: right;
    width: 330px;
    margin: 30px 85px 0px 0px;
    height: 465px;
    text-align: center;
    }
    /*Cache le contenu des catégories non-actives*/
    .contenu_herbonglet {
    display: none;
    height: 465px;
    padding-right: 5px;
    overflow: auto;
    }
    /*Center les plantes*/
    .contenu_herbonglet > div {
    margin: 0px auto;
    padding: 10px 0px;
    font-family: 'Architects Daughter', cursive;
    font-size: 14px;
    border-top: 5px double #0f5228;
    }
    /*Center les plantes*/
    .contenu_herbonglet > div:nth-child(1) {
    padding: 0px 0px 10px 0px;
    border-top: none;
    }
    /*Nom de la plante*/
    .plante_name {
    margin: auto;
    color: #4e9f4c;
    text-shadow: -1px -1px 1px #000000;
    font-size: 24px;
    font-family: cambria;
    text-transform: uppercase;
    }
    /*Bloc de la plante sous le nom*/
    .plante_bloc {
    margin: auto;
    }
    /*Image de plante*/
    .plante_bloc > img:first-child {
    margin: auto;
    width: 300px;
    border: 2px solid #0f5228;
    height: 150px;
    }
    /*Bloc de description de la plante*/
    .plante_in {
    margin: auto;
    text-align: center;
    width: 300px;
    }
    /*Caractéristiques de la plante*/
    .plante_caract {
    font-weight: bold;
    }
    /*Partie de droite de la description de la plante*/
    .plante_desc {
    text-align: justify;
    }
    /*Credit*/
    .credits {
    font-size: 12px;
    position: absolute;
    width: 200px;
    bottom: 30px;
    left: 150px;
    font-family: verdana;
    color: #0f5228;
    }
    a {
    text-decoration: none;
    color: #0f5228;
    }
    a:hover {
    color: #198842;
    }
  </style>
  <script type="text/javascript">
    //<!--
      $(function() {
        /*Tableau qui va contenir tous les noms de catégories*/
        var nom = [];
        /*Total de noms de catégories*/
        var nbnoms = $('#menu').find('li span').length;
        /*On met les noms de catégories dans le tableau*/
        for (i = 0; i < nbnoms; i++) {
          nom[i] = $('#menu').find('li span').eq(i).attr('class');
        }
        /*Nombre de bêtes*/
        var nbbetes = $('#contenu_herbonglet_Tout').children('div').length;
        /*Pour chaque catégories, on va regarder chaque bête pour les trier dans les bonnes catégories*/
        for (i = 0; i < nbnoms; i++) {
          var nom2 = nom[i];
          for (y = 0; y < nbbetes; y++) {
            var nom3 = $('#contenu_herbonglet_Tout').children('div').eq(y);
            if (nom3.hasClass(nom2)) {
              var copiecrea = nom3.clone(true);
              var oucoller = $('#contenu_herbonglet_'+nom2);
              $(copiecrea).appendTo(oucoller);
            }
          }
        }
      });
    //-->
  </script>
  <script type="text/javascript">
    //<!--
    function change_herbonglet(name) {
        document.getElementById('herbonglet_'+anc_herbonglet).className = 'herbonglet_0 herbonglet';
        document.getElementById('herbonglet_'+name).className = 'herbonglet_1 herbonglet';
        document.getElementById('contenu_herbonglet_'+anc_herbonglet).style.display = 'none';
        document.getElementById('contenu_herbonglet_'+name).style.display = 'block';
        anc_herbonglet = name;
      }
    //-->
  </script>
</head>
<body>
  <div id="herbier">
    <div class="credits">Par Onyx de <a href="http://www.never-utopia.com/forum" target="_blank" >Never-Utopia</a></div>
    <div id="menu">

      <!-- DÉBUT 1ERE LISTE -->
      <div class="one_menu">
        <span class="menu_title menus">Usage<img src="http://img4.hostingpics.net/pics/606073iconarrowdownb128.png" alt="Image à remplacer" /></span>
        <ul>
          <li class="herbonglet_1 herbonglet" id="herbonglet_Tout" onclick="javascript:change_herbonglet('Tout');">
            <span class="Tout">Tous</span>
          </li>
          <li class="herbonglet_0 herbonglet" id="herbonglet_Alimentaire" onclick="javascript:change_herbonglet('Alimentaire');">
            <span class="Alimentaire">Pour nourrir</span>
          </li>
          <li class="herbonglet_0 herbonglet" id="herbonglet_Medecine" onclick="javascript:change_herbonglet('Medecine');">
            <span class="Medecine">Pour soigner</span>
          </li>
          <li class="herbonglet_0 herbonglet" id="herbonglet_Poison" onclick="javascript:change_herbonglet('Poison');">
            <span class="Poison">Pour empoisonner</span>
          </li>
          <li class="herbonglet_0 herbonglet" id="herbonglet_Outil" onclick="javascript:change_herbonglet('Outil');">
            <span class="Outil">Pour fabriquer</span>
          </li>
          <li class="herbonglet_0 herbonglet" id="herbonglet_Joli" onclick="javascript:change_herbonglet('Joli');">
            <span class="Joli">Pour décorer</span>
          </li>
        </ul>
      </div>
      <!-- FIN 1ERE LISTE -->

      <!-- DÉBUT 2E LISTE -->
      <div class="one_menu">
        <span class="menu_title menus">Floraison<img src="http://img4.hostingpics.net/pics/606073iconarrowdownb128.png" alt="Image à remplacer" /></span>
        <ul>
          <li class="herbonglet_0 herbonglet" id="herbonglet_Printemps" onclick="javascript:change_herbonglet('Printemps');">
            <span class="Printemps">Printemps</span>
          </li>
          <li class="herbonglet_0 herbonglet" id="herbonglet_Ete" onclick="javascript:change_herbonglet('Ete');">
            <span class="Ete">Été</span>
          </li>
          <li class="herbonglet_0 herbonglet" id="herbonglet_Automne" onclick="javascript:change_herbonglet('Automne');">
            <span class="Automne">Automne</span>
          </li>
          <li class="herbonglet_0 herbonglet" id="herbonglet_Hiver" onclick="javascript:change_herbonglet('Hiver');">
            <span class="Hiver">Hiver</span>
          </li>
          <li class="herbonglet_0 herbonglet" id="herbonglet_Annuel" onclick="javascript:change_herbonglet('Annuel');">
            <span class="Annuel">Toute l'année</span>
          </li>
        </ul>
      </div>
      <!-- FIN 2E LISTE -->
      <div style="clear: both;"></div>
     
      <!-- DÉBUT 3E LISTE -->
      <div class="one_menu">
        <span class="menu_title menus">Habitat<img src="http://img4.hostingpics.net/pics/606073iconarrowdownb128.png" alt="Image à remplacer" /></span>
        <ul>
          <li class="herbonglet_0 herbonglet" id="herbonglet_Sub" onclick="javascript:change_herbonglet('Sub');">
            <span class="Sub">Sub-Tropical</span>
          </li>
          <li class="herbonglet_0 herbonglet" id="herbonglet_Tropical" onclick="javascript:change_herbonglet('Tropical');">
            <span class="Tropical">Tropical</span>
          </li>
          <li class="herbonglet_0 herbonglet" id="herbonglet_Foret" onclick="javascript:change_herbonglet('Foret');">
            <span class="Foret">Forêt</span>
          </li>
          <li class="herbonglet_0 herbonglet" id="herbonglet_Montagne" onclick="javascript:change_herbonglet('Montagne');">
            <span class="Montagne">Montagne</span>
          </li>
        </ul>
      </div>
      <!-- FIN 3E LISTE -->

      <!-- DÉBUT 4E LISTE -->
      <div class="one_menu">
        <span class="menu_title menus">Rareté<img src="http://img4.hostingpics.net/pics/606073iconarrowdownb128.png" alt="Image à remplacer" /></span>
        <ul>
          <li class="herbonglet_0 herbonglet" id="herbonglet_Commun" onclick="javascript:change_herbonglet('Commun');">
            <span class="Commun">Commun</span>
          </li>
          <li class="herbonglet_0 herbonglet" id="herbonglet_Rare" onclick="javascript:change_herbonglet('Rare');">
            <span class="Rare">Rare</span>
          </li>
          <li class="herbonglet_0 herbonglet" id="herbonglet_Tresrare" onclick="javascript:change_herbonglet('Tresrare');">
            <span class="Tresrare">Très rare</span>
          </li>
        </ul>
      </div>
      <!-- FIN 4E LISTE -->
      <div style="clear: both;"></div>
    </div>
    <div id="middle">
      <div class="contenu_herbonglet" id="contenu_herbonglet_Tout">
       
      <!-- DÉBUT 1ERE PLANTE -->
        <div class="Alimentaire Ete Foret Commun">
          <div class="plante_name">Nom de la plante</div>
          <div class="plante_bloc">
            <img src="http://www.onlinetransilvania.ro/wp-content/uploads/2014/03/IMG_9857-1300x866-450x150-croped.jpg" />
            <div class="plante_in">
              <div class="plante_caract">
                Pour nourrir - Éte - Forêt - Commun
              </div>
              <div class="plante_desc">
                Saraceni tamen nec amici nobis umquam nec hostes optandi, ultro citroque discursantes quicquid inveniri poterat momento temporis parvi vastabant milvorum rapacium similes, qui si praedam dispexerint celsius, volatu rapiunt celeri, aut nisi impetraverint, non inmorantur.
              </div>
            </div>
          </div>
        </div>
        <!-- FIN 1ERE PLANTE -->
       
        <!-- DÉBUT 2E PLANTE -->
        <div class="Poison Printemps Foret Tresrare">
          <div class="plante_name">Nom de la plante</div>
          <div class="plante_bloc">
            <img src="http://www.sylvie-tribut-astrologue.com/wp-content/uploads/2015/09/12-LE-PISSENLIT.jpg" />
            <div class="plante_in">
              <div class="plante_caract">
                Pour empoisonner - Printemps<br />Forêt - Très rare
              </div>
              <div class="plante_desc">
                Saraceni tamen nec amici nobis umquam nec hostes optandi, ultro citroque discursantes quicquid inveniri poterat momento temporis parvi vastabant milvorum rapacium similes, qui si praedam dispexerint celsius, volatu rapiunt celeri, aut nisi impetraverint, non inmorantur.
              </div>
            </div>
          </div>
        </div>
        <!-- FIN 2E PLANTE -->

        <!-- DÉBUT 3E PLANTE -->
        <div class="Medecine Hiver Montagne Rare">
          <div class="plante_name">Nom de la plante</div>
          <div class="plante_bloc">
            <img src="http://victorianviolas.co.uk/wp-content/uploads/2015/10/parade-closeup-450x150.jpg" />
            <div class="plante_in">
              <div class="plante_caract">
                Pour soigner - Hiver - Montagne - Rare
              </div>
              <div class="plante_desc">
                Saraceni tamen nec amici nobis umquam nec hostes optandi, ultro citroque discursantes quicquid inveniri poterat momento temporis parvi vastabant milvorum rapacium similes, qui si praedam dispexerint celsius, volatu rapiunt celeri, aut nisi impetraverint, non inmorantur.
              </div>
            </div>
          </div>
        </div>
        <!-- FIN 3E PLANTE -->

      </div>
     
      <div class="contenu_herbonglet" id="contenu_herbonglet_Alimentaire"></div>
      <div class="contenu_herbonglet" id="contenu_herbonglet_Medecine"></div>
      <div class="contenu_herbonglet" id="contenu_herbonglet_Poison"></div>
      <div class="contenu_herbonglet" id="contenu_herbonglet_Outil"></div>
      <div class="contenu_herbonglet" id="contenu_herbonglet_Joli"></div>
      <div class="contenu_herbonglet" id="contenu_herbonglet_Printemps"></div>
      <div class="contenu_herbonglet" id="contenu_herbonglet_Ete"></div>
      <div class="contenu_herbonglet" id="contenu_herbonglet_Automne"></div>
      <div class="contenu_herbonglet" id="contenu_herbonglet_Hiver"></div>
      <div class="contenu_herbonglet" id="contenu_herbonglet_Annuel"></div>
      <div class="contenu_herbonglet" id="contenu_herbonglet_Sub"></div>
      <div class="contenu_herbonglet" id="contenu_herbonglet_Tropical"></div>
      <div class="contenu_herbonglet" id="contenu_herbonglet_Foret"></div>
      <div class="contenu_herbonglet" id="contenu_herbonglet_Montagne"></div>
      <div class="contenu_herbonglet" id="contenu_herbonglet_Commun"></div>
      <div class="contenu_herbonglet" id="contenu_herbonglet_Rare"></div>
      <div class="contenu_herbonglet" id="contenu_herbonglet_Tresrare"></div>
     
    </div>
    <div style="clear: both;"></div>
  </div>
<script type="text/javascript">
  //<!--
    var anc_herbonglet = 'Tout';
    change_herbonglet(anc_herbonglet);
  //-->
</script>
</body>
</html>


Lorsque vous modifiez votre formulaire, il faut cliquer sur le triple engrenage (Tag css sur Never Utopia - graphisme, codage et game design - Page 3 276545engrenages), pas l'engrenage normal. Sinon, cela va se déformer d'une façon très très horrible.



2. Personnaliser le bestiaire/herbier


Il y a plusieurs parties au code. Il y a la section "menu" avec des catégories et des onglets où il y a des sous-catégories. Puis, il y a la section "contenu d'onglet" de "Tout" où il y a tous les végétaux/animaux. Enfin, il y a la section "contenu d'onglets" des sous-catégories dans lesquels les végétaux/animaux sont triés.

Le menu et divisé en plusieurs carégories et sous-catégories.

Voici un exemple du bestiaire de 1 catégorie qui a 4 sous-catégories :
Code:
      <!-- DÉBUT 3E LISTE -->
      <div class="one_menu">
        <span class="menu_title menus">Rareté<img src="http://img4.hostingpics.net/pics/606073iconarrowdownb128.png" alt="Image à remplacer" /></span>
        <ul>
          <li class="bestonglet_0 bestonglet" id="bestonglet_Commun" onclick="javascript:change_bestonglet('Commun');">
            <span class="Commun">Commun</span>
          </li>
          <li class="bestonglet_0 bestonglet" id="bestonglet_Rare" onclick="javascript:change_bestonglet('Rare');">
            <span class="Rare">Rare</span>
          </li>
          <li class="bestonglet_0 bestonglet" id="bestonglet_Tresrare" onclick="javascript:change_bestonglet('Tresrare');">
            <span class="Tresrare">Très rare</span>
          </li>
          <li class="bestonglet_0 bestonglet" id="bestonglet_Myth" onclick="javascript:change_bestonglet('Myth');">
            <span class="Myth">Mythique</span>
          </li>
        </ul>
      </div>
      <!-- FIN 3E LISTE -->


Le premier span est le nom de la catégorie. Ensuite, on a une liste qui contient les sous-catégories.

Chaque sous-catégorie est sous cette forme :
Code:
        <li class="bestonglet_0 bestonglet" id="bestonglet_Myth" onclick="javascript:change_bestonglet('Myth');">
          <span class="Myth">Mythique</span>
        </li>


À noter qu'il y a 3 endroits dans cette sous-catégorie où vous trouvez le mot "Myth", soit dans le "id" du "li", dans les parenthèses du "onclick" du "li"dans dans la "class" du "span" qui entoure le nom de la catégorie.

Ce mot, "Myth", permet d'identifier cette sous-catégorie et permettra aussi d'identifier l'animal qui y appartiendra alors c'est important qu'il soit pareil aux 3 endroits.




Ensuie, on passe à la section où il y a tous les animaux (contenu d'onlglet "Tout"). Vous y trouverez des animaux sous cette forme :
Code:
        <!-- DÉBUT 3E ANIMAL -->
        <div class="Oiseaux Foret Tresrare Danger">
          <div class="creature_name">Nom de l'animal</div>
          <div class="creature_bloc">
            <img src="http://img15.hostingpics.net/pics/380578583.png" />
            <div class="creature_in">
              <div class="creature_caract">
                Oiseau - Forêt - Très rare - Dangereux
              </div>
              <div class="creature_desc">
                Saraceni tamen nec amici nobis umquam nec hostes optandi, ultro citroque discursantes quicquid inveniri poterat momento temporis parvi vastabant milvorum rapacium similes, qui si praedam dispexerint celsius, volatu rapiunt celeri, aut nisi impetraverint, non inmorantur.
              </div>
            </div>
          </div>
        </div>
        <!-- FIN 3E ANIMAL -->


Vous voyez que la classe de la première div contient plusieurs classes :
Code:
        <div class="Oiseaux Foret Tresrare Danger">


Ces classes correspondent aux sous-catégories auxquelles l'animal appartient. Du coup, quand vous créez votre animal, vous devez vous rendre dans les sous-catégories et regarder quel "mot" vous avez mis pour identifier les sous-catégories auxquelles l'animal contient et vous le mettez dans la classe de l'animal.

Ici, j'ai 4 classes parce que l'animal appartient à 4 sous-catégories, soit Oiseaux, Forêt, Très rare et Dangereux.




Enfin, vous avez les contenus d'onglets vides où les animaux seront distribués selon les sous-catégories auxquelles ils appartiennent :
Code:
      <div class="contenu_bestonglet" id="contenu_bestonglet_Mammi"></div>
      <div class="contenu_bestonglet" id="contenu_bestonglet_Oiseaux"></div>
      <div class="contenu_bestonglet" id="contenu_bestonglet_Poissons"></div>
      <div class="contenu_bestonglet" id="contenu_bestonglet_Reptiles"></div>
      <div class="contenu_bestonglet" id="contenu_bestonglet_Amphibiens"></div>
      <div class="contenu_bestonglet" id="contenu_bestonglet_Insectes"></div>
      <div class="contenu_bestonglet" id="contenu_bestonglet_Jungle"></div>
      <div class="contenu_bestonglet" id="contenu_bestonglet_Plaines"></div>
      <div class="contenu_bestonglet" id="contenu_bestonglet_Foret"></div>
      <div class="contenu_bestonglet" id="contenu_bestonglet_Montagne"></div>
      <div class="contenu_bestonglet" id="contenu_bestonglet_Glace"></div>
      <div class="contenu_bestonglet" id="contenu_bestonglet_Desert"></div>
      <div class="contenu_bestonglet" id="contenu_bestonglet_Volcan"></div>
      <div class="contenu_bestonglet" id="contenu_bestonglet_Ocean"></div>
      <div class="contenu_bestonglet" id="contenu_bestonglet_Lac"></div>
      <div class="contenu_bestonglet" id="contenu_bestonglet_Commun"></div>
      <div class="contenu_bestonglet" id="contenu_bestonglet_Rare"></div>
      <div class="contenu_bestonglet" id="contenu_bestonglet_Tresrare"></div>
      <div class="contenu_bestonglet" id="contenu_bestonglet_Myth"></div>
      <div class="contenu_bestonglet" id="contenu_bestonglet_Ino"></div>
      <div class="contenu_bestonglet" id="contenu_bestonglet_Faible"></div>
      <div class="contenu_bestonglet" id="contenu_bestonglet_Danger"></div>
      <div class="contenu_bestonglet" id="contenu_bestonglet_Mortel"></div>


Encore une fois, à la fin du "id" de chaque contenu d'onglet, vous avez le "nom" propre à chaque sous-catégorie.

Donc si je résume, vous devez choisir un certain "nom" (qui ne doit pas avoir d'espaces ou d'accents idéalement) qui doit être à 3 fois dans l'onglet de la sous-catégorie, 1 fois dans la classe des animaux qui appartiennent à la sous-catégorie et 1 fois dans l'id dans un contenu d'onglet où seront triés les animaux.

Avec ces informations, vous devriez être capable de personnaliser le reste par vous-même Wink

Note : J'ai pris des exemples avec le bestiaire, sauf que l'herbier est identique à l'exception du nom de certaines classes. Du coup, vous devriez être capable de vous débrouiller ^^



3. Option pour réduire les menus


Il suffit simplement d'aller juste avant la fermeture de la balise "body", soit juste avant cela :
Code:
</body>
</html>


Et d'y rajouter ce bout de code :
Code:
<script text="javascript">
  //<!--
    $('.menus').find('img').css("display", "inline-block");
    $('.menus').find('img').css("margin-left", "5px");
    $('.menus').css("cursor", "pointer");
    $('.menus').next().css("max-height", "0px");
    $('.menus').click(function(){
      $('.menus').css("cursor", "pointer");
      $('.menus').next().css("max-height", "0px");
      var bam = $(this).next().find('li').length;
      var boum = (bam * 28) * 45;
      $(this).next().css("max-height", boum+"px");
      $(this).css("cursor", "default");
     });
  //-->
</script>




4. Mettre le bestiaire/herbier dans un iframe


Maintenant que la page HTML est créée avec le bestiaire/herbier, il faut le mettre accessible aux membres.

Pour cela, vous devez vous rendre là où vous voulez que le bestiaire/herbier soit et y mettre le code suivant :
Code:
<iframe style="display: block; height: 600px; width: 885px; margin: auto;" src="LIEN DE LA PAGE HTML" frameborder="0"></iframe>


Comme vous pouvez le deviner, il faut mettre le lien de la page HTML là où c'est écrit. Mais peut-être que vous vous demandez d'où sort ce lien? Ce n'est pas trop compliqué ^^

Quand on va dans la gestion de nos pages HTML, la dernière qui a été enregistrée (donc normalement, votre bestiaire/herbier), se trouve en haut de la liste. Il vous suffit de copier l'url de votre page HTML et de la mettre là où nous l'avons vu ci-haut. C'est vraiment écrit "URL DU LIEN", alors vous ne pouvez pas vous tromper Wink

Vous aurez peut-être besoin de modifier le height (la hauteur) et le width (la largeur) pour qu'il n'y a pas de barre de défilement (scroll).





C'est tout! Si jamais vous avez des problèmes avec ce LS, n'hésitez pas à passer dans Un problème avec mon code ou Personnalisations si vous avez besoin d'aide pour personnaliser le code.

À plus !

Onyx

Formulaire de présentation - Sam 2 Juil 2016 - 5:49




Formulaire de présentation


Salut !

Fournir une fiche de présentation aux membres pour qu'ils puissent poster une belle présentation est une excellente idée. Sauf que parfois, certains membres ont de la difficulté à remplir la fiche de présentation parce qu'ils ont de la difficulté avec le codage.

Du coup, ce formulaire permettra à vos membres de simplement remplir les champs du formulaire et les entrées se mettront automatiquement au bon endroit dans une fiche. Pas mal, n'est-ce pas ?

Pour voir l'aperçu du formulaire de présentation en direct : cliquez ici.
Pour voir l'aperçu du formulaire de présentation en image : cliquez ici.
Pour voir l'aperçu de la fiche de présentation en image : cliquez ici.


Attention :
Évidemment, vous aurez probablement plus de champs à faire remplir que moi ou peut-être s'appelleront-ils différemment. Du coup, vous voudrez sans doute personnaliser votre code. Pour savoir comment faire, je vous envoie sur ce tutoriel afin de comprendre les formulaires et les différentes étapes (la construction des champs et la récupération des données du formulaire).


Ce LS est en quatre parties.
  • Tout d'abord, nous allons créer le formulaire dans une page HTML.
  • Ensuite, nous allons activer l'autorisation de recevoir des formulaires externes pour que le formulaire fonctionne.
  • Puis, nous allons ajouter le CSS pour la fiche de présentation.
  • Enfin, nous allons ajouter une iframe pour que les membres puissent remplir le formulaire.


Laisser les crédits vers Never-Utopia est obligatoire.


Merci de laisser un message pour donner vos impressions/commentaires/remerciements ^^



1. Créer le formulaire (Page HTML)


Pour commencer, nous allons créer une page HTML dans laquelle nous allons mettre le code de notre formulaire.

Pour cela, nous allons aller dans :
> PANNEAU D'ADMINISTRATION
> > MODULES
> > > HTML & JAVASCRIPT
> > > > GESTION DES PAGES HTML

Ensuite, on clique sur le bouton vert "Création en mode avancé (HTML)".
On choisit un titre quelconque, comme "Formulaire de présentation".
On coche "Non" aux questions "Voulez-vous utiliser le haut et le bas de page de votre forum ?" et "Utiliser cette page en tant que page d'accueil ?".

Enfin, on met le code suivant et on enregistre :
Code:
<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8" />
    <base target="_blank" />
    <meta name="author" content="Onyx" />
    <title>Formulaire de Présentation</title>
    <style type="text/css">
      /*Corps*/
      body {
      margin: 0px;
      color: #757575;
      font-family: 'Verdana';
      font-size: 13px;
      }
      /*Formulaire*/
      #monId {
      background-color: #dfdfdf;
      box-shadow: inset 0px 0px 15px #656565;
      margin: auto;
      border-radius: 10px;
      width: 500px;
      padding: 15px;
      }
      /*Titres*/
      h1, h2, h3 {
      color: #757575;
      text-align: center;
      font-family: 'Monotype Corsiva', cursive;
      font-size: 32px;
      font-weight: normal;
      }
      /*Petit titre*/
      h2 {
      font-size: 24px;
      }
      /*Champs text, number, password, textarea et select*/
      input[type="text"], input[type="number"], input[type="password"], textarea, select {
      display: inline-bloc;
      width: 97%;
      margin-top: 3px;
      background-color: #efefef;
      color: #858585;
      padding: 5px;
      border: none;
      border-radius: 5px;
      box-shadow: inset 2px 2px 2px #bfbfbf, inset -2px -2px 1px #bfbfbf;
      font-size: 13px;
      font-family: 'Arial';
      }
      /*Champs radio*/
      input[type="radio"] {
      display: inline-bloc;
      margin-top: 3px;
      vertical-align: bottom;
      }
      /*Champs submit et reset*/
      input[type="submit"], input[type="reset"] {
      margin-top: 10px;
      text-align: center;
      display: inline-block;
      font-weight: bold;
      background-color: #fdfdfd;
      border: 1px solid #c4c4c4;
      color: #757575;
      padding: 8px;
      padding-top: 8px;
      padding-bottom: 8px;
      border-radius: 5px;
      box-shadow: 2px 2px 2px #747474, inset 0px 0px 15px #a3a3a3;
      }
      /*Champs submit et reset au survol*/
      input[type="submit"]:hover, input[type="reset"]:hover {
      cursor: pointer;
      background-color: #ffffff;
      box-shadow: 4px 4px 4px #747474, inset 0px 0px 15px #a3a3a3;
      color: #656565;
      }
      /*Champs reset et prévisualiser*/
      input[type="reset"], input[name="preview"] {
      margin-top: 0px;
      margin-right: 10px;
      font-weight: normal;
      }
      /*Champs textarea*/
      textarea {
      min-width: 97%;
      max-width: 97%;
      min-height: 100px;
      }
      /*Astérisques rouges*/
      .redd {
      color: red;
      }
      /*Crédits*/
      .credits {
      margin: 10px auto -10px auto;
      font-size: 11px;
      text-align: center;
      }
      .credits a {
      color: darkgreen;
      text-decoration: none;
      }
      .credits a:hover {
      color: blue;
      }
    </style>
    <script type="text/javascript">
    //<!--
      /*Fonction pour créer le message*/
      function creationMessage(NomForm) {   
           
        /* On met le titre dans le champ "titre" */
        NomForm.titre.value =
          "Présentation de " + NomForm.prenom.value + " " + NomForm.nom.value;

        /* On met le message dans le champ "message" */
        NomForm.message.value =
          "<link href='https://fonts.googleapis.com/css?family=Lobster|Pacifico|Dancing+Script' rel='stylesheet' type='text/css' />" +
          "<div class='prez'>" +
          "<img src='" + NomForm.urlimghaut.value + "' class='prez_haut' />" +
          "<div class='prez_nom'>" + NomForm.prenom.value + " " + NomForm.nom.value + "</div>" +
          "<div class='prez_citation'>« " + NomForm.citation.value + " »</div>" +
          "<div class='prez_bloc'>" +
          "<img src='" + NomForm.urlimgava.value + "' class='prez_ava' />" +
          "<div class='prez_right'>" +
          "<span class='prez_champ'>Prénom :</span> " + NomForm.prenom.value + "<br />" +
          "<span class='prez_champ'>Nom :</span> " + NomForm.nom.value + "<br />" +
          "<span class='prez_champ'>Surnom :</span> " + NomForm.surnom.value + "<br />" +
          "<span class='prez_champ'>Âge :</span> " + NomForm.age.value + "<br />" +
          "<span class='prez_champ'>Groupe :</span> " + NomForm.group.value + "<br />" +
          "<span class='prez_champ'>Pouvoir :</span> " + NomForm.pouvoir.value + "<br />" +
          "<span class='prez_champ'>Aime :</span> " + NomForm.aime.value + "<br />" +
          "<span class='prez_champ'>Déteste :</span> " + NomForm.deteste.value + "<br />" + "</div><div style='clear: both;'></div></div><div class='prez_title'>" +
          "Description physique</div><div class='prez_bloc'>" + NomForm.descphy.value + "</div><div class='prez_title'>" +
          "Description psycologique</div><div class='prez_bloc'>" + NomForm.descpsy.value + "</div><div class='prez_title'>" +
          "Histoire</div><div class='prez_bloc'>" + NomForm.hist.value + "</div><div class='prez_title'>" +
          "Informations sur le joueur</div><div class='prez_bloc'>" +
          "<img src='" + NomForm.urlimgbas.value + "' class='prez_bas' />" +
          "<div class='prez_right2'>" +
          "<span class='prez_champ'>Prénom :</span> " + NomForm.nomhrp.value + "<br />" +
          "<span class='prez_champ'>Âge :</span> " + NomForm.agehrp.value + "<br />" +
          "<span class='prez_champ'>Comment j'ai connu le forum :</span> " + NomForm.connu.value + "<br />" +
          "<span class='prez_champ'>Mon avis sur le forum :</span> " + NomForm.avis.value + "<br />" +
          "<span class='prez_champ'>Le code secret :</span> [hide]" + NomForm.secret.value + "[/hide]</div><div style='clear: both;'></div></div>" +
          "<div class='prez_credit'>Par <a href='http://www.never-utopia.com/u27' target='_blank'>Onyx</a> de <a href='http://www.never-utopia.com' target='_blank'>Never-Utopia</a>, inspiré de <a href='http://www.never-utopia.com/t43339-fiche-bois-sombre' target='_blank'>cette fiche</a> de Pastomaniac.</div></div></div>";

        /*On vérifie si on peut ou non envoyer le message*/
        var champsobligatoires = document.getElementsByClassName("obligatoire");
        var totalchampsobligatoires = 0;
        for (i = 0; i < champsobligatoires.length; i++) {
          var champvaleur = champsobligatoires[i].value;
          if (champvaleur.length > 0) {
            totalchampsobligatoires = totalchampsobligatoires + 1;
          }
        }
        if (totalchampsobligatoires < champsobligatoires.length) {
          alert("Tous les champs obligatoires (ceux avec un astérisque rouge) doivent être remplis.");
          return false;
        }
        else {
          return true;
        }
      }
    //-->
    </script>
  </head>
  <body>
    <form id="monId" action="/posting.forum" method="post" name="NomForm" enctype="multipart/form-data" target="_blank" onSubmit="return creationMessage(this)">
      <input type="hidden" name="mode" value="newtopic" />
      <input type="hidden" name="topictype" value="0" checked="checked" />
      <input type="hidden" name="message" value="" />
      <input type="hidden" name="f" value="10" />
      <input type="hidden" name="subject" id="titre" value="" />
      <h1>Formulaire de Présentation</h1>
      <h2>Informations sur le personnage</h2>
      <label for="prenom">Prénom<span class="redd">*</span> :</label><br />
      <input class="obligatoire" type="text" name="prenom" id="prenom" /><br />
      <br />
      <label for="nom">Nom<span class="redd">*</span> :</label><br />
      <input class="obligatoire" type="text" name="nom" id="nom" /><br />
      <br />
      <label for="surnom">Surnom :</label><br />
      <input type="text" name="surnom" id="surnom" /><br />
      <br />
      <label for="age">Âge<span class="redd">*</span> :</label><br />
      <input class="obligatoire" type="text" name="age" id="age" /><br />
      <br />
      <label for="group">Groupe<span class="redd">*</span> :</label><br />
      <select name="group" id="group">
        <option>Premier</option>
        <option>Deuxième</option>
        <option>Troisième</option>
        <option>Quatrième</option>
        <option>Etc.</option>
      </select><br />
      <br />
      <label for="pouvoir">Pouvoir<span class="redd">*</span> :</label><br />
      <input class="obligatoire" type="text" name="pouvoir" id="pouvoir" /><br />
      <br />
      <label for="aime">Aime<span class="redd">*</span> :</label><br />
      <input class="obligatoire" type="text" name="aime" id="aime" /><br />
      <br />
      <label for="deteste">Déteste<span class="redd">*</span> :</label><br />
      <input class="obligatoire" type="text" name="deteste" id="deteste" /><br />
      <br />
      <h2>Descriptions du personnage</h2>
      <label for="descphy">Description Physique<span class="redd">*</span> :</label><br />
      <textarea class="obligatoire" name="descphy" id="descphy"></textarea><br />
      <br />
      <br />
      <label for="descpsy">Description Psychologique<span class="redd">*</span> :</label><br />
      <textarea class="obligatoire" name="descpsy" id="descpsy"></textarea><br />
      <br />
      <br />
      <label for="hist">Histoire<span class="redd">*</span> :</label><br />
      <textarea class="obligatoire" name="hist" id="hist"></textarea><br />
      <br />
      <br />
      <h2>Informations sur le joueur</h2>
      <label for="nomhrp">Prénom :</label><br />
      <input type="text" name="nomhrp" id="nomhrp" /><br />
      <br />
      <label for="agehrp">Âge :</label><br />
      <input type="text" name="agehrp" id="agehrp" /><br />
      <br />
      <label for="connu">Comment avez-vous connu le forum<span class="redd">*</span> ?</label><br />
      <input class="obligatoire" type="text" name="connu" id="connu" /><br />
      <br />
      <label for="avis">Votre avis sur le forum ?</label><br />
      <textarea name="avis" id="avis"></textarea><br />
      <br />
      <label for="secret">Le code secret<span class="redd">*</span> ?</label><br />
      <input class="obligatoire" type="text" name="secret" id="secret" /><br />
      <br />
      <h2>Personnaliser la mise en page</h2>
      <label for="urlimghaut">URL de l'image du haut (500px par 200px) :</label><br />
      <input type="text" name="urlimghaut" id="urlimghaut" value="http://img15.hostingpics.net/pics/959085haut.jpg" /><br />
      <br />
      <label for="citation">Petite citation :</label><br />
      <input type="text" name="citation" id="citation" value="Petite citation" /><br />
      <br />
      <label for="urlimgava">URL de l'image du personnage (200px par 320px) :</label><br />
      <input type="text" name="urlimgava" id="urlimgava" value="http://img15.hostingpics.net/pics/485538middle.jpg" /><br />
      <br />
      <label for="urlimgbas">URL de l'image du joueur (100px par 100px) :</label><br />
      <input type="text" name="urlimgbas" id="urlimgbas" value="http://img15.hostingpics.net/pics/858946bas.jpg" /><br />
      <br />
      <br />
      <div style="text-align: center;">
        <input type="reset" name="reseta" value="Rénitialiser le formulaire" />
        <input type="submit" name="preview" value="Prévisualiser le formulaire" />
        <input type="submit" name="post" value="Envoyer le formulaire" />
      </div>
      <br />
      <div class="credits">Par <a href="http://www.never-utopia.com/u27" target="_blank">Onyx</a> de <a href="http://www.never-utopia.com" target="_blank">Never-Utopia</a>.</div>
    </form>
  </body>
</html>


Lorsque vous modifiez votre formulaire, il faut cliquer sur le triple engrenage (Tag css sur Never Utopia - graphisme, codage et game design - Page 3 276545engrenages), pas l'engrenage normal. Sinon, cela va se déformer d'une façon très très horrible.


Une fois le code mis et enregistré, vouz aurez une petite modification à faire.

Vous devez vous rendre, sur votre forum, dans le forum ou sous-forum où les gens pourront passer poster leur présentation. Puis, vous regardez l'adresse de la page. Juste après le nom de votre forum, il y aura ceci : "/f" avec un nombre qui suit. Le nombre correspond à l'id spécifique de ce forum.

Vous devez copier ce nombre et venir remplace le 10 à cet endroit :
Code:
  <input type="hidden" name="f" value="10" />


Cela va permettre que la présentation des utilisateurs du formulaire soit postée au bon endroit.



2. Activer les formulaires externes


Il y a une vérification par Forumactif qui a pour but d'éviter le spam et qui bloque les messages créés dans des formulaires qui ne sont pas ceux de base de Forumactif. Du coup, si vous ne suivez pas cette étape, le formulaire rempli vous retournera sur une page qui dira "erreur technique n°230" à la place d'envoyer directement le message.

Pour éviter cela, vous devez vous rendre sur :
> Panneau d'administration
> > Général
> > > Forum
> > > > Sécurité

Et vous devez cocher "Non" à la question "Interdire les formulaires non officiels à poster des messages et messages privés sur le forum". Vous enregistrez et c'est fait !

L'erreur n°230 ne devrait maintenant plus vous causer problème ~



3. Mise en forme de la fiche de présentation (CSS)


Si quelqu'un postait une fiche avec le formulaire, vous verriez sans doute que ce n'est pas très esthétique pour le moment. Du coup, nous allons mettre en forme la fiche de présentation à l'aide du CSS.

Pour cela, nous allons aller dans :
> PANNEAU D'ADMINISTRATION
> > AFFICHAGE
> > > IMAGES ET COULEURS
> > > > COULEURS
> > > > > FEUILLE DE STYLE CSS

Puis, nous allons ajouter le CSS suivant :
Code:
/*Bloc de la présentation*/
.prez {
  background-color: #202020;
  box-shadow: 5px 5px 3px #555555;
  margin: auto;
  margin-top: 5px;
  margin-bottom: 8px;
  width: 500px;
  color: #959595;
  padding-bottom: 10px;
  font-family: 'Verdana';
  font-size: 12px;
}
/*Image du haut de la présentation*/
.prez_haut {
  display: inline-block;
  width: 500px;
  height: 200px;
  border-bottom: 40px solid #050505;
}
/*Nom de la présentation*/
.prez_nom {
  font-family: 'Pacifico', cursive;
  font-size: 30px;
  color: #202020;
  text-shadow: -2px -2px 1px white;
  width: 100%;
  text-align: center;
  margin-top: -60px;
  margin-bottom: 15px;
}
/*Petite citation de la présentation*/
.prez_citation {
  width: 100%;
  text-align: center;
  color: #747474;
  font-family: 'Dancing Script', cursive;
  font-size: 15px;
  letter-spacing: 1px;
  margin-bottom: 25px;
}
/*Blocs de la présentation*/
.prez_bloc {
  background-color: #353535;
  border: 3px solid #101010;
  padding: 10px;
  margin: 0px 10px 0px 10px;
}
/*Autres images de la présentation*/
.prez_ava, .prez_bas {
  display: inline-block;
  width: 200px;
  height: 320px;
  float: left;
  border: #000000 1px dotted;
}
/*Partie de droite du premier bloc de la présentation*/
.prez_right, .prez_right2 {
  display: inline-block;
  margin-left: 5px;
  float: left;
  width: 240px;
}
/*Champs de la présentation*/
.prez_champ {
  color: #dfdfdf;
}
/*Sous-titres de la présentation*/
.prez_title {
  text-align: center;
  font-family: 'Lobster', cursive;
  padding: 5px;
  font-size: 16px;
  background: #000000;
  color: #959595;
  border-top: 2px solid #353535;
  
  margin: 15px 0px 5px 0px;
}
/*Images du bas de la présentation*/
.prez_bas {
  width: 100px;
  height: 100px;
}
/*Partie de droite du dernier bloc de la présentation*/
.prez_right2 {
  width: 340px;
}
/*Crédits*/
.prez_credit {
  margin: 5px auto -10px auto;
  font-size: 10px;
  text-align: center;
}




4. Ajouter l'iframe du formulaire


Maintenant que la page HTML est créée avec le formulaire, que les formulaires ont été autorisé et que le CSS pour la fiche de présentation est installé, il faut mettre le formulaire accessible aux membres.

Pour cela, vous pouvez, soit mettre le lien vers le formulaire à quelque part sur votre forum, soit le poster dans une iframe dans un message et les membres vont le remplir directement là.

Pour la 2e option, vous devez vous rendre là où vous voulez que le formulaire soit et y mettre le code suivant :
Code:
<iframe style="display: block; height: 2100px; width: 550px; margin: auto;" src="LIEN DE LA PAGE HTML" frameborder="0"></iframe>


Comme vous pouvez le deviner, il faut mettre le lien de la page HTML là où c'est écrit. Mais peut-être que vous vous demandez d'où sort ce lien? Ce n'est pas trop compliqué ^^

Quand on va dans la gestion de nos pages HTML, la dernière qui a été enregistrée (donc normalement, votre formulaire), se trouve en haut de la liste. Il vous suffit de copier l'url de votre page HTML et de la mettre là où nous l'avons vu ci-haut. C'est vraiment écrit "URL DU LIEN", alors vous ne pouvez pas vous tromper Wink

Sinon, vous devez aussi changer le width (largeur) et le height (hauteur) pour que cela corresponde à votre formulaire ^^





C'est tout! Si jamais vous avez des problèmes avec ce LS, n'hésitez pas à passer dans Un problème avec mon code ou Personnalisations si vous voulez de l'aide pour personnaliser le formulaire ou la fiche de présentation.

À plus !

Shoki

Menu latéral fixe [PhPBB2 - PhPBB3] - Jeu 30 Juin 2016 - 9:44



Hello !
Pour mon premier LS ici (oui, j'en fait peu, je ne partage que trèèèès rarement mes codes oui je suis radine Cool), j'ai décidé de frapper fort en vous codant un panneau latéral gris fixe ! Je recommande plutôt Mozilla Firefox pour l'utiliser, mais il fonctionne sous Chrome et Internet Explorer/Microsoft Edge (même si il y a un pas élégant espace). Et pour me faire pardonner de ce petit imprévu, ce code est adapté pour 2 versions de forums (Je suis trop forte je sais huhu) Cool.

   
Pour PhPBB2 et PhPBB3
Aperçu sous Mozilla Firefox : www (le fond rouge correspond à mon forum-test)
Aperçu sous Chrome & IE : www
En action


Les codes


Le CSS est à mettre dans Affichage > Couleurs > Feuille de style CSS
Vous devez avoir accès au compte fondateur pour pour accéder aux templates
Votre forum doit faire grand maximum 800 pixels de largeur

PhPBB2


CSS
Code:
/******************************************************
MENU LATERAL BY MV/SHOKI [BEGIN]
******************************************************/
#panneau_lat {
 position: fixed;
 top: 0;
 left: 0;
 width: 185px;
 height: 100%;
 background: grey;
 z-index: 200;
 padding: 5px;
 font-family: 'Verdana', sans-serif;
}
#panneau_lat h2 {
 font-size: 19pt;
 font-family: 'Georgia', serif;
 text-align: center;
 color: #FFF;
 margin-bottom: 3px;
 margin-top: 1px;
 font-variant: small-caps;
}
#panneau_lat h3 {
 font-size: 15pt;
 text-align: center;
 color: #FFF;
 margin-bottom: 0px;
 margin-top: 10px;
 font-variant: small-caps;
 font-family: 'Georgia', serif;
}
#panneau_lat a { color: #ccc !important; }
#panneau_lat a:hover { color: #999 !important; }
.pres_rapide {
 text-align: center;
 font-variant: small-caps;
 font-family: 'Georgia', serif;
 font-size: 11px;
 color: #FFF;
}
.recherche {
 text-align: center;
 font-family: 'Georgia', serif;
 color: #FFF;
 font-size: 13px;
 font-variant: small-caps;
 margin-top: 3px;
}
.boite {
 width: 175px;
 height: 120px;
 background: #ccc;
 overflow: auto;
 margin: auto;
 padding: 5px;
 font-size: 12px;
 text-align: justify;
}
.membre_mois {
 display: inline-block;
 width: 85px;
 height: 60px;
 background: #ccc;
 border: 1px solid orange;
 margin-left: 4px;
 overflow: hidden;
}
.member_des {
 width: 85px;
 height: 60px;
 overflow: auto;
 text-align: center;
 font-family: 'Georgia', serif;
 background: rgba(250, 250, 250, 0.6);
}
.membre_mois img {
 width: 85px;
 height: 60px;
 overflow: hidden;
 margin-top: -60px;
 -webkit-transition: all 1s;
 transition: all 1s;
 opacity: 1;
 visibility: visible;
}
.membre_mois:hover img {
 opacity: 0;
 visibility: hidden;
}
.util_link {
 text-align: center;
 font-family: 'Georgia', serif;
 color: #FFF;
 font-variant: small-caps;
 font-size: 15px;
}
.util_link a {
 color: #ccc !important;
 text-decoration: none !important;
 letter-spacing: 0;
 -webkit-transition: all 800ms;
 transition: all 800ms;
}
.util_link a:hover {
 letter-spacing: 2px;
 text-decoration: none !important;
}
.credits_pann {
 font-size: 10px;
 color: #FFF;
 text-align: center;
 font-variant: small-caps;
 font-family: 'Georgia', serif;
 margin-top: 5px;
}
/******************************************************
MENU LATERAL BY MV/SHOKI [END]
******************************************************/


HTML
Vous voulez que le menu s'affiche sur toutes les pages de votre forum

Dans le template overall_header (Affichage > Templates > Général) repérez ceci :
Code:
</head>
<body background="{T_BODY_BACKGROUND}" bgcolor="{T_BODY_BGCOLOR}" text="{T_BODY_TEXT}" link="{T_BODY_LINK}" vlink="{T_BODY_VLINK}">


Après ces deux lignes, intégrez ce code :
Code:
<!-- Menu latéral by MV/Shoki [BEGIN] -->
<div id="panneau_lat">
  <h2>Bienvenue</h2>
  <div class="pres_rapide">Intégrer ici une courte prez' du fofo (âge limite, type de forum...)</div>
    <h3>Liens utiles</h3>
    <div class="util_link">
      <a href="mon_lien">x Règlement</a><br />
      <a href="mon_lien">x Contexte</a><br />
      <a href="mon_lien">x Annexes</a><br />
      <a href="mon_lien">x FAQ</a><br />
      <a href="mon_lien">x Défis</a><br />
      <a href="mon_lien">x Annonces</a><br />
      <a href="mon_lien">x Partenariats</a>
    </div>
    <h3>Effectifs</h3>
    <div class="recherche">
      Groupe 1 x ... membre(s)<br />
      Groupe 2 x ... membre(s)<br />
      Groupe 3 x ... membre(s)<br />
      Groupe 4 x ... membre(s)</div>
    <h3>Rumeurs</h3>
    <div class="boite">Cette boîte peut servir à mettre des rumeurs, des nouvelles, expliquer une situation IRP...
      <br />La partie "membre du mois" peut être remplacée par "membres du staff" o/</div>
    <h3>Membres du mois</h3>
    <div class="membre_mois"><div class="member_des">NOM<br />
      <span style="font-size: 12px;"><a href="mon_lien">Profil</a></span><br />
      <span style="font-size: 12px;"><a href="mon_lien">Fiche</a></span></div><img src="http://zupimages.net/up/16/26/ft49.png" /></div>
    <div class="membre_mois"><div class="member_des">NOM²<br />
      <span style="font-size: 12px;"><a href="mon_lien">Profil²</a></span><br />
      <span style="font-size: 12px;"><a href="mon_lien">Fiche²</a></span></div><img src="http://zupimages.net/up/16/26/ft49.png" /></div>
    <div class="credits_pann">Code par MV/Shoki - <a href="http://www.never-utopia.com/" target="_blank">Never Utopia</a></div>
  </div>
<!-- Menu latéral by MV/Shoki [END] -->



Vous voulez que le menu ne s'affiche que sur l'index

Dans ce cas, allez dans le template index_body (Affichage > Templates > Général) et juste après
Code:
{JAVASCRIPT}

Mettez le code fourni un peu plus haut.

PhPBB3


CSS
Code:
/******************************************************
MENU LATERAL BY MV/SHOKI [BEGIN]
******************************************************/
#panneau_lat {
  position: fixed;
  top: 0;
  left: 0;
  width: 185px;
  height: 100%;
  background: grey;
  z-index: 200;
  padding: 5px;
  font-family: 'Verdana', sans-serif;
}
#panneau_lat h1 {
  font-size: 19pt;
  font-family: 'Georgia', serif;
  text-align: center;
  color: #FFF;
  margin-bottom: 3px;
  margin-top: 1px;
  font-variant: small-caps;
  border: 0 !important;
}
#panneau_lat h4 {
  font-size: 15pt;
  text-align: center;
  color: #FFF;
  margin-bottom: -1px;
  margin-top: 10px;
  font-variant: small-caps;
  font-family: 'Georgia', serif;
  border: 0 !important;
}
#panneau_lat a { color: #ccc !important; }
#panneau_lat a:hover { color: #999 !important; }
.pres_rapide {
  text-align: center;
  font-variant: small-caps;
  font-family: 'Georgia', serif;
  font-size: 11px;
  color: #FFF;
}
.recherche {
  text-align: center;
  font-family: 'Georgia', serif;
  color: #FFF;
  font-size: 13px;
  font-variant: small-caps;
  margin-top: 3px;
}
.boite {
  width: 175px;
  height: 120px;
  background: #ccc;
  overflow: auto;
  margin: auto;
  padding: 5px;
  font-size: 12px;
  text-align: justify;
}
.membre_mois {
  display: inline-block;
  width: 85px;
  height: 60px;
  background: #ccc;
  border: 1px solid orange;
  margin-left: 4px;
  overflow: hidden;
}
.member_des {
  width: 85px;
  height: 60px;
  overflow: auto;
  text-align: center;
  font-family: 'Georgia', serif;
  background: rgba(250, 250, 250, 0.6);
}
.membre_mois img {
  width: 85px;
  height: 60px;
  overflow: hidden;
  margin-top: -60px;
  -webkit-transition: all 1s;
  transition: all 1s;
  opacity: 1;
  visibility: visible;
}
.membre_mois:hover img {
  opacity: 0;
  visibility: hidden;
}
.util_link {
  text-align: center;
  font-family: 'Georgia', serif;
  color: #FFF;
  font-variant: small-caps;
  font-size: 15px;
}
.util_link a {
  color: #ccc !important;
  letter-spacing: 0;
  -webkit-transition: all 800ms;
  transition: all 800ms;
}
.util_link a:hover {
  letter-spacing: 2px;
}
.credits_pann {
  font-size: 10px;
  color: #FFF;
  text-align: center;
  font-variant: small-caps;
  font-family: 'Georgia', serif;
  margin-top: 5px;
}
/******************************************************
MENU LATERAL BY MV/SHOKI [END]
******************************************************/


HTML

Vous voulez que le menu s'affiche sur toutes les pages de votre forum

Dans le template overall_header (Affichage > Template > Général), repérez
Code:
</head>
<body id="phpbb">


Après ces deux lignes, intégrer le code qui suit
Code:
<!-- Menu latéral by MV/Shoki [BEGIN] -->
<div id="panneau_lat">
  <h1>Bienvenue</h1>
  <div class="pres_rapide">Intégrer ici une courte prez' du fofo (âge limite, type de forum...)</div>
    <h4>Liens utiles</h4>
    <div class="util_link">
      <a href="mon_lien">x Règlement</a><br />
      <a href="mon_lien">x Contexte</a><br />
      <a href="mon_lien">x Annexes</a><br />
      <a href="mon_lien">x FAQ</a><br />
      <a href="mon_lien">x Défis</a><br />
      <a href="mon_lien">x Annonces</a><br />
      <a href="mon_lien">x Partenariats</a>
    </div>
    <h4>Effectifs</h4>
    <div class="recherche">
      Groupe 1 x ... membre(s)<br />
      Groupe 2 x ... membre(s)<br />
      Groupe 3 x ... membre(s)<br />
      Groupe 4 x ... membre(s)</div>
    <h4>Rumeurs</h4>
    <div class="boite">Cette boîte peut servir à mettre des rumeurs, des nouvelles, expliquer une situation IRP...
      <br />La partie "membre du mois" peut être remplacée par "membres du staff" o/</div>
    <h4>Membres du mois</h4>
    <div class="membre_mois"><div class="member_des">NOM<br />
      <span style="font-size: 12px;">Profil</span><br />
      <span style="font-size: 12px;">Fiche</span></div><img src="http://zupimages.net/up/16/26/ft49.png" /></div>
    <div class="membre_mois"><div class="member_des">NOM²<br />
      <span style="font-size: 12px;">Profil²</span><br />
      <span style="font-size: 12px;">Fiche²</span></div><img src="http://zupimages.net/up/16/26/ft49.png" /></div>
    <div class="credits_pann">Code par MV/Shoki - <a href="http://www.never-utopia.com/" target="_blank">Never Utopia</a></div>
  </div>
<!-- Menu latéral by MV/Shoki [END] -->



Vous voulez que le menu ne s'affiche que sur l'index

Dans le template index_body (Affichage > Templates > Général), juste après
Code:
{JAVASCRIPT}

Mettre le code fourni un peu plus haut

 
En cas de soucis avec votre code, le section Problème avec mon Code est disponible. En cas de problème pour personnaliser le menu (changer les couleurs, la taille, la police et autres problèmes liés à la personnalisation), la section Personnalisations est à votre disposition.

Merci de laisser un message pour donner vos impressions, commentaires et/ou remerciements ^^

Frosty Blue

Fiche de lien - The Colour for Us - Dim 26 Juin 2016 - 17:27



Bonjour,

Me revoici avec un nouveau LS de fiche de lien, qui est cette fois-ci un peu expérimentale.



Les couleurs du dégradé sont modifiables (si vous arrivez à vous  y retrouver dans ce capharnaüm) tout comme le reste. Le crédit quant à lui est indélébile.

Code:
<div class="color-topbox">
<div class="center-box"><div class="color-code"><div class="cube1"></div><div class="desc"><b>Lover</b> - Love is when the other person's happiness is more important than your own. <i>H. Jackson Brown, Jr.</i></div></div><div class="color-code"><div class="cube2"></div><div class="desc"><b>Good Friend</b> - A real friend is one who walks in when the rest of the world walks out. <i>Walter Winchell</i></div></div><div class="color-code"><div class="cube3"></div><div class="desc"><b>Friend</b> - One loyal friend is worth ten thousand relatives. <i>Euripide</i></div></div><div class="color-code"><div class="cube4"></div><div class="desc"><b>Acquaintance</b> - The beginning of an acquaintance whether with persons or things is to get a definite outline of our ignorance. <i>George Eliot</i></div></div><div class="color-code"><div class="cube5"></div><div class="desc"><b>Indifferent</b> - At the bottom of enmity between strangers lies indifference. <i>Soren Kierkegaard</i></div></div><div class="color-code"><div class="cube6"></div><div class="desc"><b>Rival</b> - I embrace my rival, but only to strangle him. <i>Jean Racine</i></div></div><div class="color-code"><div class="cube7"></div><div class="desc"><b>Frenemy</b> - An enemy to whom you show kindness becomes your friend, excepting lust, the indulgence of which increases its enmity. <i>Saadi</i></div></div><div class="color-code"><div class="cube8"></div><div class="desc"><b>Enemy</b> - You have enemies? Good. That means you've stood up for something, sometime in your life. <i>Winston Churchill</i></div></div><div class="color-code"><div class="cube9"></div><div class="desc"><b>Mortal Enemy</b> -  Know thy self, know thy enemy. A thousand battles, a thousand victories. <i>Sun Tzu</i></div></div></div>
<div class="color-name">Nom Prénom</div></div>

<div class="color-body">
<div class="color-linkbox" style="background-color: #f93974;"><div class="color-linkname">Nom Prénom</div><div class="color-reminder">Rival</div></div>
<div class="color-descbox"><div class="linkdesc">description du lien</div><img src="..."/><img src="..."/><img src="..."/></div>

<div class="color-linkbox" style="background-color: #6b39f9"><div class="color-linkname">Nom Prénom</div><div class="color-reminder">Mortal Enemy</div></div>
<div class="color-descbox"><div class="linkdesc">description du lien</div><img src="..."/><img src="..."/><img src="..."/></div>

<div class="color-linkbox" style="background-color: #05f598"><div class="color-linkname">Nom Prénom</div><div class="color-reminder">Lover</div></div>
<div class="color-descbox"><div class="linkdesc">description du lien</div><img src="..."/><img src="..."/><img src="..."/></div>

<div class="frost">Code de <a href="http://www.never-utopia.com/">Frosty Blue</a></div></div><style type="text/css">.color-topbox {width: 500px; margin: auto; position: relative;} .color-code {height: 20px; width: 20px; display: inline-block; vertical-align: top; margin-right: 15px; opacity: 0.5; transition: 1s; -webkit-transition: 1s;} .desc {background: black; color: lightgrey; text-align: justify; position: absolute; z-index: 2; opacity: 0; transition: 1s; -webkit-transition: 1s; width: 0px; box-sizing:border-box; padding: 10px; height: 50px; overflow: auto; position: absolute; left: 0px; top: 45px;} .cube1:hover {-webkit-transition: 1s; transition: 1s; box-shadow: 0px 0px 3px lightgrey;} .color-code:hover {opacity: 1; transition: 1s; -webkit-transition: 1s;} .color-code:hover .desc {width: 500px; opacity: 1; -webkit-transition: 1s; transition: 1s;} .cube1 {height: 20px; width: 20px; background: #05f598; position: relative; -webkit-transition: 1s; transition: 1s;} .cube2 {height: 20px; width: 20px; background: #81f939; position: relative; transition: 1s; -webkit-transition: 1s;} .cube3 {height: 20px; width: 20px; background: #f9f639; position: relative; transition: 1s; -webkit-transition: 1s;} .cube4 {height: 20px; width: 20px; background: #f99c39; position: relative; transition: 1s; -webkit-transition: 1s;} .cube5 {height: 20px; width: 20px; background: #f93939; position: relative; -webkit-transition: 1s; transition: 1s;} .cube6 {height: 20px; width: 20px; background: #f93974; position: relative; transition: 1s; -webkit-transition: 1s;} .cube7 {height: 20px; width: 20px; background: #ed39f9; position: relative; transition: 1s; -webkit-transition: 1s;} .cube8 {height: 20px; width: 20px; background: #b63bf7; position: relative; transition: 1s; -webkit-transition: 1s;} .cube9 {height: 20px; width: 20px; background: #6b39f9; position: relative; transition: 1s; -webkit-transition: 1s;} .color-name {font-size: 30px; position: relative; z-index: 1; color: black; text-align: center; letter-spacing: 15px; text-transform: uppercase; font-family:'Cantarell'; font-weight: bold; line-height: 30px;} .color-body {width: 500px; margin: auto;} .color-linkbox {width: 500px; margin: auto; text-align: center; font-family: 'Cantarell'; text-transform: uppercase; letter-spacing: 5px; color: black; font-size: 18px; padding: 7px; box-sizing: border-box; height: 30px;} .color-linkname {position: relative; transition: 1s; -webkit-transition: 1s; -webkit-transition-delay: 0.5s; transition-delay: 0.5s;} .color-linkbox:hover .color-linkname {-webkit-filter: blur(25px); filter: blur(25px); opacity: 0; transition: 1s; -webkit-transition: 1s;} .color-reminder {opacity: 0; transition: 1s; -webkit-transition: 1s; position: relative; top: -18px; color: white;} .color-linkbox:hover .color-reminder {opacity: 1; transition-delay: 1s; -webkit-transition-delay: 1s; -webkit-transition: 1s; transition: 1s;} .color-descbox {width: 500px; height: 70px; margin: auto; box-sizing: border-box; padding: 10px; background: black;} .linkdesc {box-sizing: border-box; padding: 10px; height: 50px; width: 300px; float: left; overflow: auto; background: lightgrey; color: black; font-family: 'Cantarell'; text-align: justify; position: relative; z-index: 1;} .color-descbox img {height: 50px; width: 50px; background: white; overflow: hidden; margin-left: 8px;} .frost {opacity: 0.5; color: lightgrey; font-size: 10px; text-align: center;} .center-box {margin: auto; text-align: center;}

</style><link href='https://fonts.googleapis.com/css?family=Cantarell:400,700' rel='stylesheet' type='text/css' />

Comment faire un formulaire (de présentation, de partenariat, etc.) - Mar 14 Juin 2016 - 5:13



Comment faire un formulaire 1/2



Bonjour !

Alors une des demandes fréquentes dans la section des demandes de codes est celle du fameux "formulaire". Un formulaire pour passer une commande, un formulaire pour poster une présentation, un formulaire pour les demandes de partenariats, etc.

Ce tutorial vous montrera comment créer le formulaire de votre choix par vous-même. On y verra aussi comment mettre des champs obligatoires, comment gérer les différents types de champs à remplir et comment personnaliser le résultat du formulaire.

Voici un petit exemple du type de résultat qu'on peut obtenir :
http://libertia.forumsrpg.com/h25-formulaire-de-bouffe

Et un autre exemple d'un formulaire de présentation :
https://www.never-utopia.com/t60709-formulaire-de-presentation

Durant ce tutoriel, je ferai référence à quelques reprises au premier exemple.

À noter que puisque la majorité des membres s'intéressent plus à l'application d'un formulaire dans le cadre de forumactif, le tutoriel fera de même.
Vous pouvez quand même utiliser la plupart des notions apprises ici à l'extérieur de forumactif. Cependant, ce tutoriel ne traite pas du traitement PHP qui est nécessaire dans la majorité des cas si vous avez votre propre.


Étape 1 - Squelette du formulaire



Étape 1.1 - Juste le formulaire


La première étape, afin de créer un formulaire, c'est de se créer une page HTML dans lequel nous allons mettre le squelette du formulaire.

Pour ceux qui n'ont jamais utlisé une page HTML, voici un petit tuto sur les pages HTML fait par Nyo :
https://www.never-utopia.com/t50282-creer-une-page-html-pour-fiche-de-pub-formulaires-etc


Bref, vous créez une page HTML (en mode avancé, pas le mode simple) et vous y mettez la base de toute page HTML :
Code:
<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8" />
    <meta name="author" content="Auteur" />
    <title>Titre de la Page</title>

    <style type="text/css">
      /* Ici le CSS! */
    </style>

    <script type="text/javascript">
    //<!--
      /* Ici le Javascript */
    //-->
    </script>

  </head>
  <body>
    <!-- Ici le HTML! -->
  </body>
</html>


C'est le temps d'enregistrez votre page html pour la première fois.




Nous allons maintenant créer le squelette du formulaire entre les balises "body". Pour cela, il va falloir modifier la page HTML que vous avez enregistrée.

Lorsque vous modifiez votre formulaire, il faut cliquer sur l'engrenage où c'est inscrit "HTML", pas l'engrenage normal. Sinon, cela va se déformer d'une façon très très horrible.

Bref, on va commencer le squelette du formulaire par ceci :
Code:
   <form id="nomId" action="/posting.forum" method="post" name="NomForm" enctype="multipart/form-data" target="_blank">
      Contenu du formulaire
    </form>


Hé, minute papillon! De késsé?

J'imagine que vous l'avez deviné, mais la balise "form" est une balise de formulaire. Dans cette balise, il y a plusieurs attributs.

Le "id" permet de donne un id unique au formulaire pour le sélectionner plus tard.

Le "action" permet d'indiquer au formulaire où on va envoyer les données du formulaire pour qu'elles soient traitées. Dans notre cas, on met "/posting.forum" parce qu'on c'est la page de forumactif qui permet de poster un nouveau message/sujet).
Si vous avez créé une page de traitement php parce que vous avez votre propre site, ce serait cette adresse qu'il faudrait mettre. Si vous vouliez envoyer un mail, vous pourriez utiliser l'adresse de traitement du logiciel de messagerie de votre choix, ce qui ferait "mailto:nomdudestinataire@hotmail.fr" par exemple.

Le "method" indique la façon dont le formulaire est envoyé, soit selon la méthode "get" qui met les données dans la barre d'URL (dans la plupart des cas, très peu utile) ou selon la méthode "post" qui met les données dans le contenu html de la page de réception. Nous, c'est la méthode "post" qu'on veut.

Le "name" est simplement un nom quelconque qu'on donne à ce formulaire. On va s'en servir plus tard dans le javascript.

Le "enctype" précise la façon dont les données sont cryptées. C'est assez compliqué à expliquer alors disons simplement que dans la majorité des situations, on utilise le enctype "multipart/form-data".

Le "target", dans cette situation, nous dit d'ouvrir un nouvel onglet pour poster le formulaire. Si vous mettez le formulaire dans un iframe plus tard, cela vous évitera de poster un message dans un message.

Note : Si ce n'est pas déjà fait, enregistrez votre page html avant de la perdre !


Étape 1.2 - Comprendre les différents types de champs à remplir


On a maintenant un formulaire, sauf qu'il est vide. Tout formulaire qui se respecte doit avoir des champs à remplir pour que l'utilisateur puisse fournir des informations.

Ok, et à quoi ressemble un champ à remplir?

À ceci :
Code:
<label for="question1">Question 1</label><br />
<input id="question1" name="question1" value="" type="text" size="50"></input>


Vous voyez qu'il y a 2 nouvelles types de balises, "label" et "input".

Balise Label

La balise "label" est une "étiquette", elle sert à "étiquetter" un champ à remplir. En soi, cette balise n'a rien de spécial, à l'exception que lorsqu'on clique dessus, cela met le focus sur le champs à remplir qui y est lié.

D'ailleurs, c'est à cela que sert l'attribut "for", à associer un label à un input. La valeur de l'attribut "for" doit absolument être le même que le "id" du champ à remplir qui y est associé.

-----------

Balise Input

La balise "input" est un champ à remplir.

Le "id" permet de lier le champ au label (ne pas oublier qu'un id est "unique", alors ne mettez pas le même id à plusieurs champ).

Le "name" sert à donner un nom au champ à remplir. Ce nom servira, plus tard, à sélectionner la valeur du champ dans un javascript pour transformer les données en un message. Il doit être unique pour chaque champ à remplir. Les seules exceptions sont celles du champ "radio" et du champ "checkbox" (on les verra plus tard).

Le "value" permet d'ajouter une valeur de base au champ. De base, il y a souvent rien du tout. Si on aurait mis "Machin", il y aurait déjà eu "Machin" d'écrit dans le champ dès le début. Par contre, il y a des situations où il faut toujours mettre une valeur, soit quand le type de champ est "checkbox" ou "radio". On verra les détails plus loin.

Le "size" contrôle la longueur du champ (en nombre de caractères). Cela fonctionne avec les champ text, mais pas tous les types de champ.

Enfin, le "type" permet d'indiquer quel est le type de champ. Voici une petite liste des "type" de champ possibles :

Hidden : C'est un champ caché et invisible

Text : Pour du texte court.


Radio : Pour des choix de réponse où il peut y avoir une seule option choisie.
Oui ou Non

Checkbox : Pour des choix de réponse où il peut y avoir plusieurs options choisies.
Option1 et Option2

Button : Pour un bouton.


Number : Pour un nombre.


Password : Pour un mot de passe.


Reset : Pour rénitialiser le formulaire (vider les champs)


Submit : Pour soumettre le formulaire.



Cette liste n'est pas complète parce qu'il y a des "type" moins utilisés et qui ne sont pas acceptés sur tous les navigateurs. Pour une liste complète, on va à cet endroit.

Aussi, je vous mets sous spoiler ce tutoriel de Riku qui démontre un peu plus les différents champs et certaines options à mettre dans les champs (readonly, disabled, selected, checked, etc.) :

Tutoriel de Riku:






J'ai parlé d'une exception du "name" pour le type "radio" et le type "checkbox", n'est-ce pas? Le "name" nous sert dans le javascript à sélectionner la valeur d'un champ, donc il est important que tous les champs aient un "name" différent.

Pour le type "radio" et le type "checkbox", il y a un petit pépin. En effet, pour une même question (un même label), il y a plusieurs champs (plusieurs input).

Histoire de pouvoir démêler cela un peu, on va se servir du "checked" pour vérifier si un champ est coché ou non (on va voir le checked plus tard). Du coup, il n'y a plus besoin de mettre un "name" différent pour chaque input. Plutôt le contraire en fait.

Il est important que, dans les cas de champs "radio" et "checkbox", tous les champs qui font partie d'une même question aient le même "name".

Pourquoi? Parce que le "name" va permettre aux différents champs de rester associés entre eux. Dans le cas d'un champ de type "radio", on peut seulement cocher un champ parmi ceux qui ont le même "name" et si on coche un autre champ qui a le même "name", celui qui était coché précédemment se décoche.

Perdu? Voilà un petit exemple pour vous montrer comme cela fonctionne quand on clique sur un champ radio :




Et l'exemple en code :
Code:
<label for="question_quelconque">Question quelconque</label><br />

<label for="option1">Option 1</label> <input id="option1" name="question_quelconque" value="Mon option 1" type="radio"></input><br />

<label for="option2">Option 2</label> <input id="option2" name="question_quelconque" value="Mon option 2" type="radio"></input>





Outre les balises "input" et "label", il y en a 3 autres qui peuvent être utile dans un formulaire.

Il s'agit des balises "textarea", "select" et "option".

Voilà à quoi elles ressemblent (en code) :
Code:
<textarea name="arara" id="blablabla">Bla bla bla.</textarea>

<select name="restaurants" id="restaurants">
  <option>McDo</option>
  <option>PFK</option>
  <option>Mike</option>
  <option>Subway</option>
  <option>A&W</option>
  <option>Les frites de Suzanne</option>
</select>



Et voilà leur utilité/apparence :
Textarea : C'est une balise utilisée pour du texte long.


Select et Option : Pour des listes déroulantes. La balise "select" correspond à la liste en elle-même et les balises "option" sont les différentes options de la liste.



Étape 1.3 - Créer les champs de notre formulaire


J'ai vraiment besoin de l'expliquer?

Maintenant que vous savez comment fonctionnent les champs, à vous de d'essayer de construire vos questions et vos champs pour votre formulaire ^^

Voici  les questions et les champs pour l'exemple que je vous avais montré tout à l'heure :
Code:
   <form id="monId" action="/posting.forum" method="post" name="NomForm" enctype="multipart/form-data" target="_blank">
      <input type="hidden" name="mode" value="newtopic" />
      <input type="hidden" name="topictype" value="0" checked="checked" />
      <input type="hidden" name="message" value="" />
      <input type="hidden" name="f" value="10" />
      <input type="hidden" name="subject" id="titre" value="" />
      <h1>Formulaire de commande de Bouffe, miam miam !</h1>
      <h2>Mes informations</h2>
      <label for="nom">Nom<span class="redd">*</span> :</label><br />
      <input type="text" size="50" name="nom" id="nom" /><br />
      <br />
      <label for="adresse">Adresse<span class="redd">*</span> :</label><br />
      <input type="text" size="70" name="adresse" id="adresse" /><br />
      <br />
      <label for="phone">Numéro de téléphone<span class="redd">*</span> :</label><br />
      <input type="text" size="20" name="phone" id="phone" /><br />
      <br />
      <h2>Commande</h2>
      <label for="resto">Nom du restaurant<span class="redd">*</span> :</label><br />
      <select name="resto" id="resto">
        <option>McDo</option>
        <option>PFK</option>
        <option>Buffet Chinois Hans</option>
        <option>Mike</option>
        <option>Subway</option>
        <option>Sushi Shop</option>
        <option>Chez Angelo l'Italien</option>
        <option>Les frites de Suzanne</option>
      </select><br />
      <br />
      <label for="livraison">À faire livrer ou non?<span class="redd">*</span></label><br />
      <label for="livrer">Oui</label> <input type="radio" name="livraison" id="livrer" checked="checked" value="Oui" /><br />
      <label for="nonlivrer">Non</label> <input type="radio" name="livraison" id="nonlivrer" value="Non" /><br />
      <br />
      <h3>Commande avec menu prédéfini</h3>
      <label for="nmenu">N° de menu :</label><br />
      <input type="number" style="width: 50px;" name="nmenu" id="nmenu" max="20" min="1" value="1" /><br />
      <br />
      <label for="nperso">Nombre de personnes qui commandent :</label><br />
      <input type="number" style="width: 50px;" name="nperso" id="nperso" max="20" min="1" value="1" /><br />
      <br />
      <h3>Commande personnalisée</h3>
      <label for="commande">Contenu de la commande</label><br />
      <textarea name="commande" id="commande"></textarea><br />
      <br />
      <h2>Paiement</h2>
      <label for="paie">Type de paiement<span class="redd">*</span> :</label><br />
      <label for="visa">Carte Visa</label> <input type="radio" name="paie" id="visa" checked="checked" value="Carte Visa" /><br />
      <label for="mastercard">Carte Mastercard</label> <input type="radio" name="paie" id="mastercard" value="Carte Mastercard" /><br />
      <label for="cash">Argent comptant</label> <input type="radio" name="paie" id="cash" value="Argent comptant" /><br />
      <label for="debit">Carte de débit</label> <input type="radio" name="paie" id="debit" value="Carte de débit" /><br />
      <br />
      <label for="trucs">Trucs pour faire baisser le montant total :</label><br />
      <label for="coupon">Coupon-rabais</label> <input type="checkbox" name="coupon" id="coupon" value="Coupon-rabais" /><br />
      <label for="ami">"Ami" du proprio</label> <input type="checkbox" name="ami" id="ami" value="Ami du proprio" /><br />
      <label for="cadeau">Cartes cadeaux</label> <input type="checkbox" name="cadeau" id="cadeau" value="Cartes cadeaux" /><br />
      <br />
      <label for="secret">Mon code secret VIP de "Chez Angelo l'Italien" :</label><br />
      <input type="password" size="30" name="secret" id="secret" /><br />
      <br />
      <br />
      <div style="text-align: center;">
        <input type="reset" name="reseta" value="Rénitialiser le formulaire" />
        <input type="submit" name="post" value="Envoyer le formulaire" />
      </div>
      <br />
    </form>


Note : Les h1, h2 et h3 sont simplement des balises de titres.
Note2 : Les br sont des retour à la ligne, cela remplace un "enter" classique qui, dans une page HTML, ne sert à rien.

À vous de jouer pour faire votre propre formulaire maintenant !

Note : Si ce n'est pas déjà fait, enregistrez votre page html avant de la perdre ! Ensuite, assurez-vous de l'enregistrer régulièrement pour ne rien perdre ^^

Attention au champ pour envoyer le message !

Sur forumactif, le champ pour envoyer le message, celui qui a pour type "submit", doit absolument avoir "post" dans son "name". Le name "post" sert à indiquer qu'on veut poster notre message et non pas faire quelque chose d'autre avec.

Du coup, il doit ressembler à cela :
Code:
<input type="submit" name="post" value="Envoyer le formulaire" />


D'ailleurs, si jamais vous voulez rajouter l'option de "prévisualiser" le message avant qu'il soit posté, vous pouvez faire un copier/coller du bouton, mais en utilisant le name "preview" à la place de "post".

Du coup, le bouton prévisualiser ressemblerait à ceci :
Code:
<input type="submit" name="preview" value="Prévisualiser le formulaire" />



Étape 2 - Les champs invisibles de notre formulaire


Houston, on a un problème! Mais de quoi elle parle, des champs invisibles ? WTF ?

Roh, allez, c'est pas si effrayant, je vous en ai déjà parlé tout à l'heure !

Je parle ici des balises "input" de type "hidden", ceux qu'on peut mettre partout sans que la personne qui rempli le formulaire ne les voit.

Mais pourquoi on en aurait besoin ??!

Vous croyez peut-être que votre formulaire, une fois rempli, va savoir qu'il doit aller dans se poster en réponse à un sujet déjà créé ou qu'il doit créer un nouveau sujet dans un sous-forum précis? Nope, il n'en sait rien.

Heureusement, on est là pour l'aider ^^

Donc voilà les champs invisibles qui seront à ajouter directement après la balise "form" :
Code:
      <input type="hidden" name="mode" value="newtopic" />
      <input type="hidden" name="topictype" value="0" checked="checked" />
      <input type="hidden" name="message" value="" />
      <input type="hidden" name="f" value="10" />
      <input type="hidden" name="subject" id="titre" value="" />


.... Et ça veut dire quoi, ça? C'est bien beau d'aider le formulaire à savoir où aller, mais j'en ai pas plus idées que lui moi ><

Ouais, j'imagine XD Allez, passons chaque ligne au peigne fin !


Code:
<input type="hidden" name="mode" value="newtopic" />

Cela sert à définir le mode du message.
Si on met "newtopic" comme valeur, c'est qu'on crée un nouveau sujet. Si on met "reply" comme valeur, c'est qu'on répond à un sujet déjà existant. Si on met "move" comme valeur, c'est qu'on veut déplacer un sujet.
Je ne nommerai pas tous les modes, mais il y en a beaucoup, un pour presque chaque option possible sur forumactif.
Nous, ce qui nous intéresse pour le moment, c'est le "newtopic" pour créer un nouveau sujet et le "reply" pour répondre à un sujet.


Code:
<input type="hidden" name="topictype" value="0" checked="checked" />

Cela sert à dire quel type de sujet on crée.
Si c'est un message normal, on lui donne la valeur "0".
Si c'est une note (post-it), ce sera la valeur "1".
Si c'est une annonce, ce sera la valeur "2".
Si c'est une annonce globale, ce sera la valeur "3".


Code:
<input type="hidden" name="message" value="" />

Il s'agit du contenu du message qui sera posté. Comme le message va prendre les données du formulaire, on le met vide pour le moment et on ira s'occuper de le remplir plus tard grâce au javascript.


Code:
<input type="hidden" name="f" value="10" />

C'est le "où". Où est-ce que le message doit être posté?
Le "f" dans le "name" indique que c'est dans un forum ou sous-forum.
Si on voulait que ce soit dans une catégorie, on aurait mis la valeur "c".
Si on aurait voulait que ce soit dans un sujet déjà créé, on aurait mis la valeur "t".

Ensuite, le "10" dans le "value" indique dans quel forum/sous-forum/catégorie/sujet le message doit être posté.
Autrement dit, vous vous rendez sur la page du sujet/sous-forum/etc. où vous voulez que le sujet soit posté et vous regardez dans la barre d'adresse.
Directement après le "f" (ou c ou t), vous verrez un nombre.
C'est ce nombre qu'il faut mettre dans "value".


Code:
<input type="hidden" name="subject" id="titre" value="" />

C'est simplement le titre du sujet. Si vous voulez que la personne le remplisse par elle-même, vous pouvez changer le "type" pour "text" et l'intégrer au reste du formulaire. Sinon, laissez-le caché et on ira remplir le titre à l'aide du javascript plus tard ^^


Note : Si ce n'est pas déjà fait, enregistrez votre page html avant de la perdre ! Ensuite, assurez-vous de l'enregistrer régulièrement pour ne rien perdre ^^

Et voilà pour cette section \o/

Frosty Blue

From Within - fiche de présentation - Jeu 9 Juin 2016 - 13:05



Voici une fiche de présentation assez sobre qui a été conçue pour que la couleur principale (le rouge dans l'aperçu) puisse être modifiée en fonction de la couleur du groupe. De ce fait le css est placé dans le message. Il est toutefois possible de le placer dans la fiche css du forum (si vous êtes administrateur) du moment que vous avez le courage de vous y atteler ^^

Tout est modifiable mais le crédit est indélébile.

Aperçu - Hover 1 - Hover 2


Code:
<div class="aay-perso"><div class="aay-presgroup">Groupe</div><div class="aay-presname">Prénom Nom</div><br>
<div class="aay-presinfo"><span class="info">Age:</span> réponse
<span class="info">Sexe:</span> réponse
<span class="info">Métier:</span> réponse
<span class="info">Taille:</span> réponse
<span class="info">Poids:</span> réponse
<span class="info">Couleur des yeux/cheveux:</span> réponse
<span class="info">Signes distinctifs:</span> réponse
</div><div class="aay-photo"><img src="http://i84.servimg.com/u/f84/19/41/51/11/pres11.jpg"/><div class="aay-photo-src"><i>Nom du personnage, Manga/Anime/Source</i></div></div>
<div class="aay-title">Caractère</div>
<div class="aay-bloctxt">Quod cum ita sit, paucae domus studiorum seriis cultibus antea celebratae nunc ludibriis ignaviae torpentis exundant, vocali sonu, perflabili tinnitu fidium resultantes. denique pro philosopho cantor et in locum oratoris doctor artium ludicrarum accitur et bybliothecis sepulcrorum ritu in perpetuum clausis organa fabricantur hydraulica, et lyrae ad speciem carpentorum ingentes tibiaeque et histrionici gestus instrumenta non levia.

Proinde concepta rabie saeviore, quam desperatio incendebat et fames, amplificatis viribus ardore incohibili in excidium urbium matris Seleuciae efferebantur, quam comes tuebatur Castricius tresque legiones bellicis sudoribus induratae.

Ac ne quis a nobis hoc ita dici forte miretur, quod alia quaedam in hoc facultas sit ingeni, neque haec dicendi ratio aut disciplina, ne nos quidem huic uni studio penitus umquam dediti fuimus. Etenim omnes artes, quae ad humanitatem pertinent, habent quoddam commune vinculum, et quasi cognatione quadam inter se continentur.</div>
<div class="aay-title">Histoire</div>
<div class="aay-bloctxt">Quod cum ita sit, paucae domus studiorum seriis cultibus antea celebratae nunc ludibriis ignaviae torpentis exundant, vocali sonu, perflabili tinnitu fidium resultantes. denique pro philosopho cantor et in locum oratoris doctor artium ludicrarum accitur et bybliothecis sepulcrorum ritu in perpetuum clausis organa fabricantur hydraulica, et lyrae ad speciem carpentorum ingentes tibiaeque et histrionici gestus instrumenta non levia.

Proinde concepta rabie saeviore, quam desperatio incendebat et fames, amplificatis viribus ardore incohibili in excidium urbium matris Seleuciae efferebantur, quam comes tuebatur Castricius tresque legiones bellicis sudoribus induratae.

Ac ne quis a nobis hoc ita dici forte miretur, quod alia quaedam in hoc facultas sit ingeni, neque haec dicendi ratio aut disciplina, ne nos quidem huic uni studio penitus umquam dediti fuimus. Etenim omnes artes, quae ad humanitatem pertinent, habent quoddam commune vinculum, et quasi cognatione quadam inter se continentur.</div>
<div class="aay-player"><img src="http://i84.servimg.com/u/f84/19/41/51/11/pres11.jpg"/><div class="aay-playerinfo"><span class="info">Pseudo:</span> réponse
<span class="info">Age:</span> réponse
<span class="info">Quelque chose à nous dire?</span> réponse
<span class="info">Code du règlement:</span> réponse
</div></div><div class="aay-opinion"><span class="in">Opinion sur tel(s) groupe(s):</span><br>Votre opinion
<br><span class="in2"> Opinion sur tel(s) groupe(s):</span> Votre opinion
</div>
<div class="crédits">Code by Frosty Blue de <a href="http://www.never-utopia.com">never Utopia</a></div></div>

<style type="text/css"> .aay-presgroup {margin-left: auto; background: #fa5858; width: 150px; padding: 17px;text-align: center; color: #f4f4f4; font-family: 'Abel'; text-shadow: 1px 2px 1px rgba(0,0,0,0.4); display: inline-block; font-size: 17px; line-height: 23px; text-transform: uppercase; margin-right: 10px;} .aay-presname {margin-right: auto; width: 350px; padding: 10px; text-align: center; color: #fa5858; background: #eaebeb; overflow: hidden; font-family: 'Abel'; font-size: 35px; line-height: 37px; display: inline-block; vertical-align: top; text-shadow: -1px -2px 1px rgba(0,0,0,0.4), 1px 2px 1px rgba(255,255,255,1); text-transform: uppercase; letter-spacing: 1px;} .aay-perso {margin: auto; text-align: justify; width: 565px;} .aay-presinfo {float: left; width: 320px; height: 200px; overflow: auto; padding: 10px; margin-right: 10px;background: #eaebeb;} .info {color: white; text-shadow: 1px 1px 0px rgba(0,0,0,0.3), 0px 0px 5px rgba(0,0,0,0.2); font-size: 13px; text-transform: uppercase; font-style: normal;} .aay-photo {width: 215px; background: black; vertical-align: top; height: 220px; overflow: hidden;} .aay-photo img {-webkit-filter: grayscale(80%); filter: grayscale(80%); transition: 1s; -webkit-transition: 1s; position: relative; z-index: 1;} .aay-photo-src {position: relative; top: -60px; background: rgba(195,195,195,0.6); color: white; text-align: center; font-size: 12px; z-index: 2; padding: 5px; opacity: 0; transition: 1s; -webkit-transition: 1s;} .aay-photo:hover img {-webkit-filter: grayscale(0%); filter: grayscale(0%); transition: 2s; -webkit-transition: 2s;} .aay-photo:hover .aay-photo-src {opacity: 1; transition: 2s; -webkit-transition: 2s;} .aay-bloctxt {background: #eaebeb; padding: 10px; height: 250px; overflow: auto; border-top: #fa5858 4px solid; position: relative; z-index: 2;} .aay-title {text-shadow: -1px -2px 1px rgba(0,0,0,0.4), 1px 2px 1px rgba(255,255,255,1); text-transform: uppercase; letter-spacing: 1px; font-family: 'Abel'; color: #fa5858; font-size: 25px; position: relative; left: 5px; bottom: -15px; z-index: 1;} .aay-player {width: 215px; height: 220px; display: inline-block; margin-right: 15px; background: #fa5858;} .aay-opinion {display: inline-block; width: 315px; padding: 10px; height: 200px; overflow: auto; background: #eaebeb; text-align: justify; vertical-align: top;} .aay-player img {position: relative: 1; -webkit-filter: grayscale(50%); filter: grayscale(50%); transition: 1s; -webkit-transition: 1s; } .aay-playerinfo {padding: 10px; position: relative; z-index: 2; background: #fa5858; transition: 1s; -webkit-transition: 1s; opacity: 0; overflow: auto; width: 200px; height: 202px; top: -222px;} .aay-player:hover .aay-playerinfo {opacity: 1; transition: 2s; -webkit-transition: 2s;} .in {font-style: normal; color: #fa5858; text-shadow: 1px 1px 0px rgba(0,0,0,0.3), 0px 0px 5px rgba(0,0,0,0.2); font-size: 14px; text-transform: uppercase;} .in2 {font-style: normal; color: #0080ff; text-shadow: 1px 1px 0px rgba(0,0,0,0.3), 0px 0px 5px rgba(0,0,0,0.2); font-size: 14px; text-transform: uppercase;} .crédits {text-align: right; color: silver; opacity: 0.4; font-size: 11px; font-family: 'Abel'; position: relative; right: 5px;}</style><link href='https://fonts.googleapis.com/css?family=Abel' rel='stylesheet' type='text/css' />

Navigation remplacer "Déconnexion [ Pseudo ]" par un autre texte (CSS) - Ven 20 Mai 2016 - 11:42



Navigation - Remplacer "Déconnexion [ Pseudo ]" par un autre texte


Hello,

Si dans votre barre de navigation vous affichez les textes, la présence du pseudo peut parfois vous gêner / prendre trop de place ! Voici comment le remplacer rapidement en CSS pour mettre le texte de votre choix.

Information : Testé sur phpbb2

Exemple



Avant "Déconnexion [ Pseudo ]"
Tag css sur Never Utopia - graphisme, codage et game design - Page 3 MM4jEse

Après "Déconnexion [ Pseudo ]" devient "Quitter"
Tag css sur Never Utopia - graphisme, codage et game design - Page 3 44ph4hZ

Code CSS


Le code est à placer ici :
PA > Affichage > Gestion des images & couleurs > Couleurs > Feuille de style CSS

Code:
/* Remplacer le lien déconnexion */
#logout {
  font-size: 0!important; /* on cache le lien */
  letter-spacing: normal!important; /* on enlève un eventuel letter spacing présent */
}

/* Lien déconnexion faux texte */
#logout::after {
  content: "Quitter"; /* nouveau texte*/
  font-size: 12px; /* taille du texte */
  /* style supplémentaire à mettre ici */
}
/* Fin remplacer le lien déconnexion */


La partie à modifier est celle-ci :
Code:
#logout::after {
  content: "Quitter"; /* nouveau texte*/
  font-size: 12px; /* taille du texte */
  /* style supplémentaire à mettre ici */
}

Le !important est seulement là pour éviter qu'une personnalisation de la navigation ne passe pas "au dessus" de notre code CSS Wink

Vous pouvez remplacer "Quitter" par un autre texte
Le 12px doit être remplacé par la même taille de police que le reste de votre barre de navigation :)

BONUS:



En cas de soucis, merci d'aller dans "Problème avec mon code" ou "Personnalisation"


N'oubliez pas de mettre sur votre forum un remerciement pour Never Utopia :hug:

Cruelly

Fiche Administrative - Mar 26 Avr 2016 - 21:38



Fiche Administrative



HTML & CSS - Taille de la fiche :  500 - Aperçu 01 Aperçu 02 Aperçu 03

Bonjour, bonsoir à tous et à toutes :)

Voici une modification de ma fiche rp couleur claire. Celle-ci comporte quelque ajout et une version avec image ^^.


Code Css

 
Code:
/* -------------------------------- FICHE RP  PAR CRUELLY -------------------------------- */

        .Fond {
        width: 500px;
        background-color: #C6C9D8;
        margin :auto;
        box-shadow: 0px 0px 5px #ffffff;
        }

        .Fond p {
        font-size: 12px;
         margin-left: 10px;
        margin-right: 10px;
         color: #555555;
        text-align: justify;
        font-family: arial;
        text-shadow: 0px 0px 5px #ffffff;
        }
        
        .Parg {
        width: 440px;
        background-color: #AAAFC4;
          margin :auto;
        box-shadow: 0px 0px 5px #888888;
        }
        

        .Fond h4 {
        font-family: 'Monotype corsiva', cursive;
        color: #ffffff;
        font-size: 40px;
        font-style: italic;
        background-color: #8C99AE;
        text-align: center;
        text-shadow: 0px 0px 2px #ffffff;
        }

        .Cred1 {
        font-size: 10px;
        color: #ffffff;
        text-align: center;
        font-family: arial;
        }
/* -------------------------------- FIN FICHE RP  -------------------------------- */



HTML Fiche 01

 
Code:
<div class="Fond"><H4>Ton titre super classe</H4><div class="Parg"><p>Inter quos Paulus eminebat notarius ortus in Hispania, glabro quidam sub vultu latens, odorandi vias periculorum occultas perquam sagax. is in Brittanniam missus ut militares quosdam perduceret ausos conspirasse Magnentio, cum reniti non possent, iussa licentius supergressus fluminis modo fortunis conplurium sese repentinus infudit et ferebatur per strages multiplices ac ruinas, vinculis membra ingenuorum adfligens et quosdam obterens manicis, crimina scilicet multa consarcinando a veritate longe discreta. unde admissum est facinus impium, quod Constanti tempus nota inusserat sempiterna.</p>
</div><div class="Cred1">(c) Cruelly pour <a href="http://www.never-utopia.com">Never Utopia</a>.</div>
</div>



HTML Fiche 02


Code:
<div class="Fond"><H4>Ton titre super classe</H4><div class="Parg"><p>Inter quos Paulus eminebat notarius ortus in Hispania, glabro quidam sub vultu latens, odorandi vias periculorum occultas perquam sagax. is in Brittanniam missus ut militares quosdam perduceret ausos conspirasse Magnentio, cum reniti non possent, iussa licentius supergressus fluminis modo fortunis conplurium sese repentinus infudit et ferebatur per strages multiplices ac ruinas, vinculis membra ingenuorum adfligens et quosdam obterens manicis, crimina scilicet multa consarcinando a veritate longe discreta. unde admissum est facinus impium, quod Constanti tempus nota inusserat sempiterna.</p><H4>Ton titre super classe</H4><p>Inter quos Paulus eminebat notarius ortus in Hispania, glabro quidam sub vultu latens, odorandi vias periculorum occultas perquam sagax. is in Brittanniam missus ut militares quosdam perduceret ausos conspirasse Magnentio, cum reniti non possent, iussa licentius supergressus fluminis modo fortunis conplurium sese repentinus infudit et ferebatur per strages multiplices ac ruinas, vinculis membra ingenuorum adfligens et quosdam obterens manicis, crimina scilicet multa consarcinando a veritate longe discreta. unde admissum est facinus impium, quod Constanti tempus nota inusserat sempiterna.</p></div><div class="Cred1">(c) Cruelly pour <a href="http://www.never-utopia.com">Never Utopia</a>.</div>
</div>



HTML Fiche 03


Code:
<div class="Fond"><H4>Ton titre super classe</H4><div class="Parg"><div style=" height: 118px; background: url(http://image.noelshack.com/fichiers/2016/17/1461639114-sans-titre-2.png); "></div><p>Inter quos Paulus eminebat notarius ortus in Hispania, glabro quidam sub vultu latens, odorandi vias periculorum occultas perquam sagax. is in Brittanniam missus ut militares quosdam perduceret ausos conspirasse Magnentio, cum reniti non possent, iussa licentius supergressus fluminis modo fortunis conplurium sese repentinus infudit et ferebatur per strages multiplices ac ruinas, vinculis membra ingenuorum adfligens et quosdam obterens manicis, crimina scilicet multa consarcinando a veritate longe discreta. unde admissum est facinus impium, quod Constanti tempus nota inusserat sempiterna.</p>
</div><div class="Cred1">(c) Cruelly pour <a href="http://www.never-utopia.com">Never Utopia</a>.</div>
</div>

Onyx

Changement automatique du rang selon le groupe - Lun 18 Avr 2016 - 2:12



Changement automatique du rang selon le groupe


Salut !

Pour certains administrateurs, il y a beaucoup de changements de groupes et de rangs. Déjà que changer le groupe de 15 personnes par jour prend du temps, devoir en plus changer leur rang à chaque fois ne rend pas les choses très faciles.

Du coup, j'ai créé une petite astuce pour tricher et lier les rangs au groupe de la personne à la demande de Darkius.

Plus précisément, cette astuce remplace le rang et l'image de rang par un "faux titre de rang" et une "fausse image de rang" et un javascript va "regarder la couleur du pseudo de la personne", trouvera le rang et l'image de rang associés à ce groupe (à cette couleur) et le mettra dans l'espace du "faux titre de rang" et de la "fausse image de rang".

Attention :
- Si une personne fait partie de plusieurs groupes, le groupe qui apparaîtra sera celui dont elle a la couleur, pas les autres.
- Cela agit seulement dans les messages, pas pour le rang dans les profils. Je recommande de tout simplement supprimer les rangs pour qu'ils ne s'affichent nul part. Comme ça, les seuls rangs qui s'afficheront seront les faux.


Ce LS est en trois parties.
  • Tout d'abord, nous allons créer l'espace pour les faux rangs dans le template des messages.
  • Puis, nous allons ajouter le javascript qui permet de faire fonctionner cette astuce.
  • Enfin, nous allons voir comment mettre vos propres rangs et groupes dans le javascript.


- La version du forum est PhpBB2.
- Il est possible (mais pas toujours) que l'astuce ne fonctionne pas si votre template a déjà été modifié. Si c'est le cas, vous pouvez aller dans "personnalisations" ou "problème avec mon code" pour recevoir de l'aide

Mettre un crédit vers Never-Utopia est obligatoire.
Merci de laisser un message pour donner vos impressions, commentaires et/ou remerciements ^^




1. Ajouter l'espace des "faux rangs" (Template Viewtopic_Body)



Nous allons commencer par aller dans les templates, plus précisément dans le template "viewtopic_body".

Pour cela, nous allons aller dans :
> PANNEAU D'ADMINISTRATION
> > AFFICHAGE
> > > TEMPLATES
> > > > GÉNÉRAL
> > > > > VIEWTOPIC_BODY

Puis, on chercher cette variable :
Code:
{postrow.displayed.POSTER_RANK}


Qu'on va remplacer par ceci :
Code:
<span class="rangtitre"></span>



Et on va trouver cette variable :
Code:
{postrow.displayed.RANK_IMAGE}


Qu'on va remplacer par ceci :
Code:
<span class="rangimg"></span>





2. Ajouter le javascript



Maintenant que les rangs normaux ont été remplacés par les faux rangs, on va aller ajouter le javascript.

Pour cela, nous allons aller dans :
> PANNEAU D'ADMINISTRATION
> > MODULES
> > > HTML & JAVASCRIPT
> > > > GESTION DES CODES JAVASCRIPT

Si le "Activer la gestion des codes Javascript" est à "non", il faut le changer pour "oui" et enregistrer.


Ensuite, on clique sur "Créer un nouveau Javascript"
On choisit un nom, par exemple comme "Système de faux rangs".
On choisit le placement "Sur les sujets" (c'est super important).

Enfin, on met le javascript suivant et on enregistre :
Code:
$(function () {
  var groupcouleur = [
  "rgb(144, 55, 199)",
  "rgb(162, 176, 102)",
  "rgb(133, 199, 194)",
  "rgb(67, 145, 181)",
  "rgb(10, 163, 97)",
  ];

  var group1 = [
  "Élèves",
  "Professeurs",
  "Personnel",
  "Habitants",
  "PNJ",
  ];

  var group2 = [
  "https://2img.net/r/hpimg11/pics/215624jaime.png",
  "https://2img.net/i/fa/subsilver/icon_pm.gif",
  "https://2img.net/i/fa/subsilver/icon_email.gif",
  "https://illiweb.com/fa/subsilver/icon_www.gif",
  "https://2img.net/i/fa/subsilver/icon_online_fr.gif",
  ];

  var nbgroup = groupcouleur.length;
  $('tr.post > td span.name > strong > a > span > strong').each(function () {
    var rang1 = $(this).closest('tr.post').find('td:first').find('.rangtitre');
    var rang2 = $(this).closest('tr.post').find('td:first').find('.rangimg');
    var uncolor = $(this).css('color');
    for (i=0; i < nbgroup; i++) {
      if (uncolor == groupcouleur[i]) {
        $(rang1).html(group1[i]);
        $(rang1).css('color', groupcouleur[i]);
        $(rang2).html('<img src="'+group2[i]+'" alt="Image à remplacer" />');
      }
    }
  });
});





3. Adapter le javascript à vos propres groupes et rangs



Voici le fonctionnement du javascript :
Il va aller "regarder la couleur du pseudo". Ensuite, il consulte une liste des couleurs des groupes (que vous allez devoir mettre vous-même) pour savoir le groupe auquel la couleur du nom correspond. Puis, il regarde la liste de rang (que vous devrez faire vous-même) et il ajoute le titre du rang et l'image du rang qui correspond au groupe.

On va décortiquer le javascript pour savoir où on doit modifier quoi Wink





Partie des couleurs des groupes qui ont des rangs

Si on décortique le javascript, la première partie, "groupcouleur", comporte la couleur de chacun des groupes en mode "rgb":
Code:
$(function () {
  var groupcouleur = [
  "rgb(144, 55, 199)", /*Couleur du 1er groupe*/
  "rgb(162, 176, 102)", /*Couleur du 2e groupe*/
  "rgb(133, 199, 194)", /*Couleur du 3e groupe*/
  "rgb(67, 145, 181)", /*Couleur du 4e groupe*/
  "rgb(10, 163, 97)", /*Couleur du 5e groupe*/
  ];


Vous devez aller dans chacun de vos groupes et copier/coller exactement la couleur qui appartient à chaque groupe. Vous verrez que la couleur est en mode "hex", soit quelque chose comme "#AD8H46". Or, le javascript utilise uniquement les codes en mode "rgb", tel que "rgb(173, 8, 70)", ce qui donne la même couleur.

Pour transférer vos codes de couleur "hex" en codes de couleur "rgb", vous pouvez utiliser ce site : http://www.javascripter.net/faq/hextorgb.htm . Bref, une fois que vous avez la couleur en "rgb", vous la mettez dans la partie "groupcouleur" pour chacun de vos groupes.





Partie des "faux titres de rang"

Ensuite, la deuxième partie, "group1", sert à mettre le titre de chacun des rangs : :
Code:
 var group1 = [
  "Élèves", /*Titre du 1er groupe*/
  "Professeurs", /*Titre du 2e groupe*/
  "Personnel", /*Titre du 3e groupe*/
  "Habitants", /*Titre du 4e groupe*/
  "PNJ", /*Titre du 5e groupe*/
  ];


À noter que le premier rang doit correspondre à la couleur du premier groupe que vous avez mis dans la section précédente et ainsi de suite.

D'ailleurs, si vous voulez personnaliser chacun des rangs, vous pouvez facilement mettre quelque chose comme :
Code:
 var group1 = [
  "<span style='color: red;'>Élèves</span>",
  "<span style='color: blue;'>Professeurs</span>",
  "<span style='color: orange;'>Personnel</span>",
  "<span style='color: purple;'>Habitants</span>",
  "<span style='color: green;'>PNJ</span>",
  ];


Ou encore :
Code:
 var group1 = [
  "<span class='nom_de_class1'>Élèves</span>",
  "<span class='nom_de_class2'>Professeurs</span>",
  "<span class='nom_de_class3'>Personnel</span>",
  "<span class='nom_de_class4'>Habitants</span>",
  "<span class='nom_de_class5'>PNJ</span>",
  ];






Partie des "fausses images de rang"

La troisième partie, "group2", sert à mettre l'url des images de rang pour chacun des groupes :
Code:
 var group2 = [
  "https://2img.net/r/hpimg11/pics/215624jaime.png", /*Image du 1er groupe*/
  "https://2img.net/i/fa/subsilver/icon_pm.gif", /*Image du 2e groupe*/
  "https://2img.net/i/fa/subsilver/icon_email.gif", /*Image du 3e groupe*/
  "https://illiweb.com/fa/subsilver/icon_www.gif", /*Image du 4e groupe*/
  "https://2img.net/i/fa/subsilver/icon_online_fr.gif", /*Image du 5e groupe*/
  ];


À noter que la première url d'image doit correspondre au premier titre du rang de la section précédente et à la couleur du premier groupe que tu as mis dans la section d'avant et ainsi de suite.





La partie où le javascript fait actuellement quelque chose

La dernière partie du javascript, soit le reste, sert à repérer la couleur du nom de l'utilisateur, de la comparer avec le groupcouleur et d'appliquer le titre de rang et l'image de rang qui correspond :
Code:
 /*On calcule le nombre de couleurs au total*/
  var nbgroup = groupcouleur.length;

  /*On va chercher chaque nom pour chaque message posté pour appliquer le reste du javascript. On répète le processus à chaque fois qu'on trouve un nom*/
  $('tr.post > td span.name > strong > a > span > strong').each(function ()

    /*On sélectionne le l'espance du "faux titre de rang" dans le template*/
    var rang1 = $(this).closest('tr.post').find('td:first').find('.rangtitre');

    /*On sélectionne l'espace de "fausse image de rang" dans le template*/
    var rang2 = $(this).closest('tr.post').find('td:first').find('.rangimg');

    /*On prend la couleur du pseudo*/
    var uncolor = $(this).css('color');

    /*On va aller comparer la couleur de pseudo à chaque couleur de groupe*/
    for (i=0; i < nbgroup; i++) {

      /*Si la couleur du pseudo = la couleur du groupe, on va faire les modifications*/
      if (uncolor == groupcouleur[i]) {

        /*On ajoute le titre de rang qui correspond à la couleur du groupe dans l'espace du "faux titre de rang"*/
        $(rang1).html(group1[i]);

        /*On donne la même couleur au titre de rang que la couleur du groupe*/
        $(rang1).css('color', groupcouleur[i]);

        /*On ajoute l'image de rang qui correspond à la couleur du groupe dans l'espace de la "fausse image de rang"*/
        $(rang2).html('<img src="'+group2[i]+'" alt="Image à remplacer" />');
      }
    }
  });
});


Ce bout n'a absolument pas à être modifié pour fonctionner. Sérieux, pas touche, à moins d'être sûr de savoir ce que vous faites, ok?





Personnaliser le titre de rang et l'image de rang

On a déjà vu précédemment qu'on pouvait entourer d'un span avec une classe différente chaque titre de rang, donc vous pouvez vous servir de ces classes pour personnaliser chaque rang.

Pour personnaliser tous les titres de rang à la fois, vous pouvez mettre ceci dans votre CSS :
Code:
/*Titres des rangs*/
.rangtitre {
  propriété: valeur;
}


Pour personnaliser tous les images de rang à la fois, vous pouvez mettre ceci dans votre CSS :
Code:
/*Images des rangs*/
.rangimg img {
  propriété: valeur;
}


Quant à personnaliser les images de rang individuellement, vous pouvez mettre ceci dans votre CSS et remplacer le URL par le lien de l'image de rang à modifier :
Code:
.rangimg img[src="URL"] {
  propriété: valeur;
}






Partie des rangs dans le reste du forum

À ma connaissance, les rangs apparaîssent à un seul autre endroit dans le forum, soit le profil.

Le hic, c'est que puisque le profil (à moins que vous ayez la version simplifié du profil) ne peut pas être modifié entièrement dans un template, on peut difficilement remplacer le rang par le faux rang.

Donc, si la personne change de groupe, le rang se changera automatiquement dans les messages (grace aux "faux rang"), mais restera pareil dans le profil. Alors si quelqu'un va voir, il sera genre "WTF?". Pas trop joyeux ><

Ce que je vous conseille, une fois que vous avez installé le javascript comme il faut et vérifié qu'il fonctionne bien, c'est d'aller carrément supprimer les rangs qui ne sont plus nécessaire (dans le panneau d'administrateur, dans les utilisateurs, dans les rangs, vous les supprimez tous).

Comme ça, les rangs ne seront simplement pas affichés sur le profil (ce qui n'est vraiment pas un drame, on s'entend) et ne contraseront donc plus avec le faux rang des messages. Perfect!





C'est tout! Si jamais vous avez des problèmes avec cette astuce, n'hésitez pas à passer dans Un problème avec mon code ou Personnalisations si vous voulez modifier le fonctionnement de l'astuce et que vous avez besoin d'aide.

À plus !

Liste des forums, personnaliser chaque forum seulement en CSS - Sam 16 Avr 2016 - 21:05



Hello :)

Le tutoriel d'aujourd'hui porte sur la personnalisation avec du CSS du style de chaque élément d'un forum sur l'index pour qu'il ait son propre style. C'est un CSS qui se rajoute "par dessus" le CSS de base de vos catégories.

J'ai écrit ce tutoriel assez rapidement, dans le but de m'adresser à des personnes déjà à l'aise avec plusieurs principes de CSS.
Ce tutoriel est une base, une fois le principe compris vous pouvez modifier à volonté en CSS vos forums sur l'index.

Ce tutoriel nécessite d'être assez à l'aise avec le HTML et le CSS.
Voici 2 liens intéressants sur les sélecteurs CSS.
- Principe du CSS : Les sélecteurs (Partie 1 : CSS2)
- Principes du CSS - Les sélecteurs (Partie 2 : CSS3)


Comme je suis une flemmarde, pour l'exemple nous allons reprendre un libre service sur le forum : Catégories simples phpbb2.

Exemple, nos forums au départ :
Tag css sur Never Utopia - graphisme, codage et game design - Page 3 2tZLxlq

Nos forums après personnalisation (je voulais mettre en avant le Forum 2) :
Tag css sur Never Utopia - graphisme, codage et game design - Page 3 BRMAX7b

J'ai changé le second forum en lui mettant des couleurs de fond différent, une hauteur différente pour le titre et la description.
Ceci est un exemple simple, mais on peut impacter sur tous les CSS comme on le souhaite ensuite (^--^)

Mise en place



Je rappelle les infos de base :
Le template se trouve ici : PA > Affichage > Templates > Général > index-box
Le CSS est à rajouter ici : PA > Affichage > Couleurs > Feuille de style CSS

Tout le code du template d'exemple ce trouve dans ce LS : Catégories simples phpbb2. Ce tutoriel peut s'adapter à beaucoup de structures de forum.

Ici la partie qui nous intéresse est celle qui permet d'afficher un forum, c'est à dire cette portion de code :

Code:
<!-- BEGIN forumrow -->
<div class="un-forum">

  <!-- Bloc statistiques (dernier message + statistiques) -->
    <div class="stats-forum">
        <div class="last-message">{catrow.forumrow.LAST_POST}</div>
        <div class="sujets-messages">{catrow.forumrow.TOPICS} sujets • {catrow.forumrow.POSTS} msg</div>
    </div>
    
    <!-- Bloc infos : titre + description + sous forums -->
    <div class="infos-forum">
        <div class="titre-forum"><a href="{catrow.forumrow.U_VIEWFORUM}">{catrow.forumrow.FORUM_NAME}</a></div>
        
        <div class="description-forum">
            <div class="description">{catrow.forumrow.FORUM_DESC}</div>
            <div class="sous-forums gensmall">{catrow.forumrow.L_LINKS}{catrow.forumrow.LINKS}</div>
        </div>
    </div>
    
    <!-- Bloc nouveaux messages / pas de nouveaux messages / verrouillé -->
    <div class="status-forum">
        <img title="{catrow.forumrow.L_FORUM_FOLDER_ALT}" src="{catrow.forumrow.FORUM_FOLDER_IMG}" alt="{catrow.forumrow.L_FORUM_FOLDER_ALT}" />
    </div>
    
</div> <!-- fermeture .un-forum -->
<!-- END forumrow -->


On peut voir que la structure du HTML est celle ci :
-- .un-forum (un forum entier)
------ .stats-forum (le bloc des stastiques)
------------- .last-message (le bloc dernier message)
------------- .sujets-messages (le nombre de sujets / message)
------ .infos-forum (title + description + sous forums)
------------- .titre-forum (titre du forum)
------------- .description-forum (description + sous forums)
--------------------- .description (description)
--------------------- .sous-forum (liste sous forum)
------ .status-forum (bloc nouveaux messages / pas de nouveaux messages / lock)

J'ai mis un code couleur pour vous aider à distinguer les éléments :)

On peut dire que .last-message et .sujets-messages sont frères (car ils sont à côté dans le HTML). Ils sont aussi les enfants de ".stats-forum" car ils sont à l'intérieur.

De la même manière, .stats-forum, .infos-forum, .status-forum sont tous frères (ils sont sur le même "niveau" dans le HTML). Ils sont tous les enfants de ".un-forum".

Sélectionner un forum précis en CSS



Exemple simple, la couleur du titre du forum



Je souhaite modifier la couleur du titre du forum "Forum 2" pour avoir un texte en blanc.
Normalement dans le CSS je mettrais ceci :
Code:
.titre-forum a {
  color: #ffffff;
}


Le problème c'est que tous les liens deviennent blancs ><
Tag css sur Never Utopia - graphisme, codage et game design - Page 3 8olHfFL

Comment faire pour sélectionner seulement le lien "Forum 2" ? Nous allons utiliser un sélecteur d'attribut !
Voici à quoi ressemble notre lien :
Code:
<a href="/f16-forum-2">Forum 1</a>


On peut voir que notre balise "a" possède un attribut "href" qui a comme valeur "/f16-forum-2"
Pour sélectionner ce lien je peux donc faire :
Code:
.titre-forum a[href="/f16-forum-2"] {
  color: #ffffff;
}


Ce qui signifie "sélectionne dans .titre-forum la balise a qui a comme attribut "href" avec la valeur ""/f16-forum-2"

Pour simplifier le code, je peux mettre ceci :
Code:
.titre-forum a[href^="/f16-"] {
  color: #ffffff;
}


Ce qui signifie "sélectionne dans .titre-forum la balise a qui a comme attribut href la valeur qui commence par /f16-
Le "qui commence par" est indiqué par la présence du petit chapeau avant le signe égale :)

Cela simplifie le code car au lieu de mettre le nom du forum entier "/f16-forum-2", il suffit de mettre "/f16-".
Avec "/f16-forum-2", si je décide d'appeler mon forum "Petit éléphant volant", je vais devoir changer dans le CSS partout avec le nouveau lien.
Ici, "/f16-" indique le numéro du forum, même si le nom du forum change, je n'aurai pas besoin de modifier mon CSS. :hudada:




Nous avons donc réussi à changer la couleur du lien pour le forum "Forum 2" !
Tag css sur Never Utopia - graphisme, codage et game design - Page 3 T1ldrXJ

La couleur de fond de la zone "Dernier message"



Notre précédent exemple avec le sélecteur d'attribut est bien mais.... Comment faire pour modifier les autres parties ?

Maintenant, plus compliqué, comme je suis embêtante, je veux changer la couleur de fond de ".stats-forum" pour la mettre orange seulement sur le forum qui s'appelle "Forum 2".

En CSS on s'y prendrait comme ça :
Code:
.stats-forum {
  background: #f1c40f;
}


Le soucis c'est que ça change la couleur de fond partout >-<
Tag css sur Never Utopia - graphisme, codage et game design - Page 3 HL8WCf6

Comment faire pour choisir seulement le forum "Forum 2" ? Nous allons utiliser un sélecteur d'attribut ainsi qu'un sélecteur d'adjacence.

On va modifier notre template pour rajouter un lien "invisible" au tout début d'un forum.
Juste après ceci  :
Code:
<!-- BEGIN forumrow -->
<div class="un-forum">


On va rajouter ce petit lien qui a la classe "forum-perso-link" :
Code:
<a href="{catrow.forumrow.U_VIEWFORUM}" class="forum-perso-link" style="display:none;"></a>


Pourquoi lui mettre un attribut style et ne pas gérer ça dans le CSS ?
Ici c'est juste une de mes préférences, je veux être sûre que même s'il y a un bug de CSS ce lien n'apparaitra jaaaaaamaaaais (de toutes les façons il n'a pas de contenu mais bon, on ne sait jamais, je préfère prendre mes précautions).


Attention à ne pas rendre son HTML invalide (par exemple un balise a en dehors d'une cellule (td) dans un tableau si vous avez le template de base. Si vous avez un template de base non modifié, allez dans la section "Problème avec mon code", on pourra vous aider :hug:


Si je reprends la structure que j'avais tout à l'heure, elle est donc devenue :
-- .un-forum (un forum entier)
------ .forum-perso-link (LE LIEN CACHÉ)
------ .stats-forum (le bloc des stastiques)
------------- .last-message (le bloc dernier message)
------------- .sujets-messages (le nombre de sujets / message)
------ .infos-forum (title + description + sous forums)
------------- .titre-forum (titre du forum)
------------- .description-forum (description + sous forums)
--------------------- .description (description)
--------------------- .sous-forum (liste sous forum)
------ .status-forum (bloc nouveaux messages / pas de nouveaux messages / lock)

Si je veux sélectionner le lien caché de "Forum 2", je vais donc mettre dans le CSS :
Code:
.forum-perso-link[href^="/f16-"] {
}


Ici, je ne veux pas changer le lien caché mais ".stats-forum" qui est juste à côté. Je peux donc faire :
Code:
.forum-perso-link[href^="/f16-"] + .stats-forum{
  background: #f1c40f;
}


Et... MAGIE MAGIE, ça maaaarche o/
Tag css sur Never Utopia - graphisme, codage et game design - Page 3 959hsri

Néanmoins, je vous conseille de remplacer le + par un ~, afin d'avoir un sélecteur d'adjacence indirecte.
Code:
.forum-perso-link[href^="/f16-"] ~ .stats-forum{
  background: #f1c40f;
}



Pourquoi un sélecteur d'ajacence indirecte ?
Imaginons que je souhaite modifier "status-forum", qui est donc "le dernier des frères". Si j'utilise simplement des + (sélecteur d'adjacence directe), ça va être un peu long :
Code:
.forum-perso-link[href^="/f16-"] + .stats-forum + infos-forum + .status-forum  {
}


Grâce à ça je pourrais sélectionner ".status-forum" (qui est tout à la fin) comme ceci :
Code:
.forum-perso-link[href^="/f16-"] ~ .status-forum {
}


Je peux utiliser .forum-perso-link[href^="/f16-"] ~ .status-forum car .forum-perso-link et .status-forum sont frères et que .status-forum est après .forum-perso-link.

Je compte sur vous pour chercher dans un moteur de recherche "sélecteur d'adjacence indirecte" si mon piètre exemple et l'exemple dans le tuto de Manumanu ne vous ont pas suffit. 8D


Modifier les enfants


(titre très étrange)

Tag css sur Never Utopia - graphisme, codage et game design - Page 3 5g96gFv
Ici, on peut voir que j'ai changé la couleur de fond et du texte du nombre de sujets / message en blanc.
Voici le CSS que j'ai mis :
Code:
.forum-perso-link[href^="/f16-"] ~ .stats-forum .sujets-messages {
  background: #f39c12;
  color: #fff;
}


------ .stats-forum (le bloc des stastiques)
------------- .last-message (le bloc dernier message)
------------- .sujets-messages (le nombre de sujets / message)
Je sélectionne ".status-forum" comme avant, et ensuite je sélectionne son enfant ".sujets-messages".

----

Tag css sur Never Utopia - graphisme, codage et game design - Page 3 BeZtCLz

Le CSS correspondant pour le titre :
Code:
.forum-perso-link[href^="/f16-"] ~ .infos-forum .titre-forum {
  background: #f39c12;
  color: #fff;
  height: 100px;
  line-height: 100px;
  text-align: center;
}


Pour la description :
Code:
.forum-perso-link[href^="/f16-"] ~ .infos-forum .description-forum {
  height: 40px;
}


------ .infos-forum (title + description + sous forums)
------------- .titre-forum (titre du forum)
------------- .description-forum (description + sous forums)
Je sélectionne "infos-forum" et ensuite chaque enfant :)

Maintenant, en vous creusant la tête avec les sélecteurs CSS, vous pouvez modifier plein de choses o/

Conseils, amélioration



Personellement, utiliser les sélecteurs d'ajacence m'agacent vite, je fais donc mon HTML différement quand c'est possible.
Au lieu de mettre comme ceci :

Code:
<!-- BEGIN forumrow -->
<div class="un-forum">
  <a href="{catrow.forumrow.U_VIEWFORUM}" class="forum-perso-link" style="display:none;"></a>
  TOUT MON ANCIEN CODE SE TROUVE JUSTE APRES
<!-- END forumrow -->


-- .un-forum (un forum entier)
------ .forum-perso-link (LE LIEN CACHÉ)
------ .stats-forum (le bloc des stastiques)
------------- .last-message (le bloc dernier message)
------------- .sujets-messages (le nombre de sujets / message)
------ .infos-forum (title + description + sous forums)
------------- .titre-forum (titre du forum)
------------- .description-forum (description + sous forums)
--------------------- .description (description)
--------------------- .sous-forum (liste sous forum)
------ .status-forum (bloc nouveaux messages / pas de nouveaux messages / lock)



Je vais mettre une div autour de l'ensemble de chaque :

Code:
<!-- BEGIN forumrow -->
<div class="un-forum">
  <a href="{catrow.forumrow.U_VIEWFORUM}" class="forum-perso-link" style="display:none;"></a>
  <div class="forum-perso-autour">TOUT MON ANCIEN CODE SE TROUVE DANS CETTE NOUVELLE DIV</div>
<!-- END forumrow -->


-- .un-forum (un forum entier)
------- .forum-perso-link (LE LIEN CACHÉ)
------- .forum-perso-autour (entoure tout mon ancien code de forum)
------------ .stats-forum (le bloc des stastiques)
------------------- .last-message (le bloc dernier message)
------------------- .sujets-messages (le nombre de sujets / message)
------------ .infos-forum (title + description + sous forums)
------------------- .titre-forum (titre du forum)
------------------- .description-forum (description + sous forums)
--------------------------- .description (description)
--------------------------- .sous-forum (liste sous forum)
------------ .status-forum (bloc nouveaux messages / pas de nouveaux messages / lock)


Ainsi, mon CSS est plus facile à faire pour moi. Au lieu d'avoir :
Code:
.forum-perso-link[href^="/f16-"] ~ .stats-forum {
  background: #f1c40f;
}

.forum-perso-link[href^="/f16-"] ~ .stats-forum .sujets-messages {
  background: #f39c12;
  color: #ffffff;
}

.forum-perso-link[href^="/f16-"] ~ .infos-forum .titre-forum {
  text-align: center;
  background: #f39c12;
  color: #ffffff;
  height: 100px;
  line-height: 100px;
}

.forum-perso-link[href^="/f16-"] ~ .infos-forum  .description-forum {
  height: 40px;
}


Je peux mettre :
Code:
.forum-perso-link[href^="/f16-"] + .forum-perso-autour .stats-forum {
  background: #f1c40f;
}

.forum-perso-link[href^="/f16-"] + .forum-perso-autour .sujets-messages {
  background: #f39c12;
  color: #ffffff;
}

.forum-perso-link[href^="/f16-"] + .forum-perso-autour .titre-forum {
  text-align: center;
  background: #f39c12;
  color: #ffffff;
  height: 100px;
  line-height: 100px;
}

.forum-perso-link[href^="/f16-"] + .forum-perso-autour .description-forum {
  height: 40px;
}


Je trouve ça plus rapide pour coder que de devoir toujours regarder les parents / frères / enfants :)

Pour les forums en HTML5


Pour ceux qui ont un forum avec un doctype HTML5 (car vous l'avez modifié vous même par exemple), vous pouvez simplifier encore plus le code et vous passer de ce "faux lien".

Au lieu de faire cette modification :
Code:
<!-- BEGIN forumrow -->
<div class="un-forum">
  <a href="{catrow.forumrow.U_VIEWFORUM}" class="forum-perso-link" style="display:none;"></a>


Il suffit de faire ceci :
Code:
<!-- BEGIN forumrow -->
<div class="un-forum" data-link="{catrow.forumrow.U_VIEWFORUM}">
  LE RESTE DE VOTRE


Ensuite, pour styliser, il suffit de mettre des sélecteurs d'enfants :
Code:
.un-forum[data-link^="/f16-"] .stats-forum {
  background: #f1c40f;
}

.un-forum[data-link^="/f16-"] .sujets-messages {
  background: #f39c12;
  color: #ffffff;
}

.un-forum[data-link^="/f16-"] .titre-forum {
  text-align: center;
  background: #f39c12;
  color: #ffffff;
  height: 100px;
  line-height: 100px;
}

.un-forum[data-link^="/f16-"] .description-forum {
  height: 40px;
}



En cas de problème, merci d'aller dans la section "Problème avec mon code" ♥


Si votre question est d'ordre générale sur la compréhension du tutoriel, n'ayez pas peur de commenter en dessous, je surveille le sujet. J'essayerai d'y répondre. (^-^)


D'une manière très similaire, on peut rajouter un id à chaque catégorie pour pouvoir ensuite les personnaliser séparément !
L'explication se trouve dans ce message précisément

Cheshire Cat

Affichage des messages sobre - Mar 29 Mar 2016 - 17:52



Bonjour à tous !  :bwaha:
Aujourd'hui, on est là pour dur lourd, car je vous propose un affichage complet de vos messages ! Si c'est pas beau tout ça ? :star:
Si vous rencontrez un problème avec ce libre service, n'hésitez pas à demander de l'aide dans la section Problème avec mon code. De plus, vous pouvez vous référer à la section Personnalisations si jamais vous n'y connaissez rien en codage et que vous avez du mal à changer les couleurs et autres.

Rendu en image:


Optimisé pour tous les navigateurs - Version PHPBB2

Pour commencer à installer ce nouvel affichage pour vos sujets, nous allons faire cette manœuvre
Panneau d'administration > Affichage > Templates > Général > viewtopic_body
Maintenant on va remplacer le template de base par celui qui va suivre.
Code:
<script type="text/javascript">
//<![CDATA[
var multiquote_img_off = '{JS_MULTIQUOTE_IMG_OFF}', multiquote_img_on = '{JS_MULTIQUOTE_IMG_ON}', _atr = '{JS_DIR}addthis/', _ati = '{PATH_IMG_FA}addthis/'{ADDTHIS_LANG}, addthis_localize = { share_caption: "{L_SHARE_CAPTION}", email: "{L_EMAIL}", email_caption: "{L_EMAIL_CAPTION}", favorites: "{L_SHARE_BOOKMARKS}", print: "{L_PRINT}", more: "{L_MORE}" };
$(function(){

    if(typeof(_atc) == "undefined") {
        _atc = { };
    }
   
    _atc.cwait = 0;
    $('.addthis_button').mouseup(function(){
        if ($('#at15s').css('display') == 'block') {
            addthis_close();
        }
    });
});

var hiddenMsgLabel = { visible:'{JS_HIDE_HIDDEN_MESSAGE}', hidden:'{JS_SHOW_HIDDEN_MESSAGE}' };
showHiddenMessage = function(id)
{
    try
    {
        var regId = parseInt(id, 10);
        if( isNaN(regId) ) { regId = 0; }
       
        if( regId > 0)
        {
            $('.post--' + id).toggle(0, function()
         {
            if( $(this).is(":visible") )
            {
               $('#hidden-title--' + id).html(hiddenMsgLabel.visible);
            }
            else
            {
               $('#hidden-title--' + id).html(hiddenMsgLabel.hidden);
            }
         });
        }
    }
    catch(e) { }
   
   return false;
};

//]]>
</script>

<link href='https://fonts.googleapis.com/css?family=Amaranth|Titillium+Web|Yanone+Kaffeesatz|Roboto' rel='stylesheet' type='text/css' />
<table width="100%" border="0" cellspacing="0" cellpadding="0">
   <tr>
      <td align="left" valign="middle">
         <span class="nav">
         <!-- BEGIN switch_user_authpost -->
         <a href="{U_POST_NEW_TOPIC}" rel="nofollow"><img src="{POST_IMG}" id="{POST_IMG_ID}one" alt="{L_POST_NEW_TOPIC}" align="middle" border="0" /></a>   
         <!-- END switch_user_authpost -->
         <!-- BEGIN switch_user_authreply -->
         <a href="{U_POST_REPLY_TOPIC}"><img src="{REPLY_IMG}" id="i_reply" alt="{L_POST_REPLY_TOPIC}" align="middle" border="0" /></a>
         <!-- END switch_user_authreply -->
         </span>
      </td>   
          </tr>
          <tr>
      <td class="nav" valign="middle" width="100%">
      </td>
   </tr>
</table>

<table class="affichagesujet" width="100%" border="0" cellspacing="0" cellpadding="0" >
   <tr>
             <td colspan="3">
                     <h1 class="sujettitre">
                          {TOPIC_TITLE}<br />
           <span class="nav" itemscope itemtype="http://data-vocabulary.org/Breadcrumb">
                      <a class="nav" href="{U_INDEX}" itemprop="url"><span itemprop="title">{L_INDEX}</span></a>
                      <!--{NAV_SEP}<a class="nav" href="{U_ALBUM}" itemprop="url"><span itemprop="title">{L_ALBUM}</span></a>-->
                      {NAV_CAT_DESC_SECOND}
                    </span>
                     </h1>
      </td>
   </tr>
   <!-- BEGIN topicpagination -->
   <tr>
             <td colspan="2" align="right" valign="top">
                     <div class="paginationsujet">{PAGINATION}</div>
             </td>
   </tr>
   <!-- END topicpagination -->
   {POLL_DISPLAY}
   <!-- BEGIN postrow -->
   <!-- BEGIN hidden -->
   <tr>
      <td class="postdetails" colspan="3" align="center">{postrow.hidden.MESSAGE}</td>
   </tr>
   <!-- END hidden -->
   <!-- BEGIN displayed -->
   <tr class="post--{postrow.displayed.U_POST_ID}" id="{postrow.displayed.U_POST_ID}">
          <td valign="top">
            <div class="profilmodif">
              <h1 class="pseudo">{postrow.displayed.POSTER_NAME}</h1>
              <div class="profavatar">
                <div class="infos">
                    <!-- BEGIN profile_field -->
                    {postrow.displayed.profile_field.LABEL} {postrow.displayed.profile_field.CONTENT}
                    <!-- END profile_field -->
                    {postrow.displayed.POSTER_RPG}
                </div>
                <div class="profil_avatar">{postrow.displayed.POSTER_AVATAR}</div>
              </div>
              <div class="rang">
                {postrow.displayed.POSTER_RANK}<br />
                {postrow.displayed.PROFILE_IMG} {postrow.displayed.PM_IMG} {postrow.displayed.EMAIL_IMG}
                <!-- BEGIN contact_field -->{postrow.displayed.contact_field.CONTENT}<!-- END contact_field -->
              </div>
            </div>
            </td>
                <td valign="top" colspan="2">
         <table border="0" cellspacing="0" cellpadding="0">
            <tr class="heureedit">
                                     <td class="heureedit">
                                          <div class="on">{postrow.displayed.ONLINE_IMG}</div>
                                          <div class="heure">{postrow.displayed.POST_DATE}</div>
                                     </td>
            </tr>
            <tr>
               <td colspan="2">
                  <!-- BEGIN switch_vote_active -->
                  <div class="vote gensmall">
                     <!-- BEGIN switch_vote -->
                     <div class="vote-button"><a href="{postrow.displayed.switch_vote_active.switch_vote.U_VOTE_PLUS}">+</a></div>
                     <!-- END switch_vote -->

                     <!-- BEGIN switch_bar -->
                     <div class="vote-bar" title="{postrow.displayed.switch_vote_active.L_VOTE_TITLE}">
                        <!-- BEGIN switch_vote_plus -->
                        <div class="vote-bar-plus" style="height:{postrow.displayed.switch_vote_active.switch_bar.switch_vote_plus.HEIGHT_PLUS}px;"></div>
                        <!-- END switch_vote_plus -->

                        <!-- BEGIN switch_vote_minus -->
                        <div class="vote-bar-minus" style="height:{postrow.displayed.switch_vote_active.switch_bar.switch_vote_minus.HEIGHT_MINUS}px;"></div>
                        <!-- END switch_vote_minus -->
                     </div>
                     <!-- END switch_bar -->

                     <!-- BEGIN switch_no_bar -->
                     <div title="{postrow.displayed.switch_vote_active.L_VOTE_TITLE}" class="vote-no-bar">----</div>
                     <!-- END switch_no_bar -->

                     <!-- BEGIN switch_vote -->
                     <div class="vote-button"><a href="{postrow.displayed.switch_vote_active.switch_vote.U_VOTE_MINUS}">-</a></div>
                     <!-- END switch_vote -->
                  </div>
                  <!-- END switch_vote_active -->

                  <div class="affichmess">
                                                  <div class="imagesedit">{postrow.displayed.THANK_IMG} {postrow.displayed.MULTIQUOTE_IMG} {postrow.displayed.QUOTE_IMG} {postrow.displayed.EDIT_IMG} {postrow.displayed.DELETE_IMG} {postrow.displayed.IP_IMG} {postrow.displayed.REPORT_IMG}</div>
                    <div>{postrow.displayed.MESSAGE}</div>

                     <!-- BEGIN switch_attachments -->
                     <dl class="attachbox">
                        <dt>{postrow.displayed.switch_attachments.L_ATTACHMENTS}</dt>
                        <dd>
                           <!-- BEGIN switch_post_attachments -->
                           <dl class="file">
                              <dt>
                                 <img src="{postrow.displayed.switch_attachments.switch_post_attachments.U_IMG}" alt="" />

                                 <!-- BEGIN switch_dl_att -->
                                 <a class="postlink" href="{postrow.displayed.switch_attachments.switch_post_attachments.switch_dl_att.U_ATTACHMENT}">{postrow.displayed.switch_attachments.switch_post_attachments.switch_dl_att.ATTACHMENT}</a> {postrow.displayed.switch_attachments.switch_post_attachments.switch_dl_att.ATTACHMENT_DEL}
                                 <!-- END switch_dl_att -->

                                 <!-- BEGIN switch_no_dl_att -->
                                 {postrow.displayed.switch_attachments.switch_post_attachments.switch_no_dl_att.ATTACHMENT} {postrow.displayed.switch_attachments.switch_post_attachments.switch_no_dl_att.ATTACHMENT_DEL}
                                 <!-- END switch_no_dl_att -->
                              </dt>

                              <!-- BEGIN switch_no_comment -->
                              <dd>
                                 <em>{postrow.displayed.switch_attachments.switch_post_attachments.switch_no_comment.ATTACHMENT_COMMENT}</em>
                              </dd>
                              <!-- END switch_no_comment -->

                              <!-- BEGIN switch_no_dl_att -->
                              <dd>
                                 <em><strong>{postrow.displayed.switch_attachments.switch_post_attachments.switch_no_dl_att.TEXT_NO_DL}</strong></em>
                              </dd>
                              <!-- END switch_no_dl_att -->

                              <dd>({postrow.displayed.switch_attachments.switch_post_attachments.FILE_SIZE}) {postrow.displayed.switch_attachments.switch_post_attachments.NB_DL}</dd>
                           </dl>
                           <!-- END switch_post_attachments -->
                        </dd>
                     </dl>
                     <!-- END switch_attachments -->

                  </div>
                                  </td>
                          </tr>
                  </table>
          </td>
        </tr>
        <!-- BEGIN switch_signature -->
     <tr>
          <td colspan="3">
            <div class="signmss">
              {postrow.displayed.SIGNATURE}
            </div>
          </td>
     </tr>
        <!-- END switch_signature -->
   <!-- BEGIN first_post_br -->
</table>
<table class="forumline" width="100%" border="0" cellspacing="0" cellpadding="0">
   <!-- END first_post_br -->
   <!-- END displayed -->
   <!-- END postrow -->
   <!-- BEGIN no_post -->
   <tr align="center">
      <td colspan="3" height="28">
         <span class="genmed">{no_post.L_NO_POST}</span>
      </td>
   </tr>
   <!-- END no_post -->
</table>
<table class="forumline" width="100%" border="0" cellspacing="0" cellpadding="0">
   <tr>
      <td class="paginationsujet" valign="top" {COLSPAN_PAGINATION}>{PAGE_NUMBER}</td>
      <!-- BEGIN topicpagination -->
      <td class="paginationsujet" align="right" valign="top" >{PAGINATION}</td>
      <!-- END topicpagination -->
   </tr>
   <!-- BEGIN switch_user_logged_in -->
   <!-- BEGIN watchtopic -->
   <tr>
      <td class="paginationsujet" colspan="2" align="right" valign="top">{S_WATCH_TOPIC}</td>
   </tr>
   <!-- END watchtopic -->
   <!-- END switch_user_logged_in -->
</table>

<table class="forumline" width="100%" border="0" cellspacing="0" cellpadding="0">
   <tr>
      <td colspan="2" align="center">
         <!-- BEGIN switch_user_logged_in -->
         <a name="quickreply"></a>
         {QUICK_REPLY_FORM}<br />
         <!-- END switch_user_logged_in -->
      </td>
   </tr>
   <tr>
      <td style="margin:0; padding: 0;" colspan="2">
         <table border="0" cellpadding="0" width="100%" cellspacing="0" id="info_open" style="display:''">
            <tbody>
      <!-- BEGIN show_permissions -->
      <tr>
         <td class="row2" valign="top" width="25%"><span class="gensmall">{L_TABS_PERMISSIONS}</span></td>
         <td class="row1" valign="top" width="75%"><span class="gensmall">{S_AUTH_LIST}</span></td>
      </tr>
      <!-- END show_permissions -->
   </tbody>
         </table>
      </td>
   </tr>
</table>

<form action="{S_JUMPBOX_ACTION}" method="get" name="jumpbox" onsubmit="if(document.jumpbox.f.value == -1){return false;}">
<table class="noprint" width="100%" border="0" cellspacing="2" cellpadding="0" align="center">
   <tr>
      <td align="left" valign="middle" nowrap="nowrap" {WIDTH_GALLERY}>
         <span class="nav">
            <!-- BEGIN switch_user_authpost -->
            <a href="{U_POST_NEW_TOPIC}" rel="nofollow"><img src="{POST_IMG}" id="{POST_IMG_ID}Newtopic" alt="{L_POST_NEW_TOPIC}" align="middle" border="0" /></a>   
            <!-- END switch_user_authpost -->
            <!-- BEGIN switch_user_authreply -->
            <a href="{U_POST_REPLY_TOPIC}"><img src="{REPLY_IMG}" alt="{L_POST_REPLY_TOPIC}" align="middle" border="0" /></a>
            <!-- END switch_user_authreply -->
         </span>
      </td>

      <td align="right" nowrap="nowrap"><span class="gensmall">{L_JUMP_TO}: {S_JUMPBOX_SELECT} <input class="liteoption" type="submit" value="{L_GO}" /></span></td>

      <!-- BEGIN moderation_panel -->
      <td align="center">
         <span class="gensmall">{moderation_panel.U_YOUR_PERSONAL_MODERATE}</span>
      </td>
      <!-- END moderation_panel -->
   </tr>
</table>
</form>

<!-- BEGIN viewtopic_bottom -->
<table class="noprint" width="100%" border="0" cellspacing="2" cellpadding="0" align="center">
   <tr>
      <td colspan="2" align="left" valign="top" nowrap="nowrap"><br />{S_TOPIC_ADMIN}<br />
         <form name="action" method="get" action="{S_FORM_MOD_ACTION}">
            <input type="hidden" name="t" value="{TOPIC_ID}" />

            <!-- <input type="hidden" name="sid" value="{S_SID}" /> -->
            <input type="hidden" name="{SECURE_ID_NAME}" value="{SECURE_ID_VALUE}" />

            <span class="gen">{L_MOD_TOOLS}<br />{S_SELECT_MOD} <input class="liteoption" type="submit" value="{L_GO}" /></span>
         </form>
      </td>
   </tr>
</table>
<!-- END viewtopic_bottom -->

<!-- BEGIN switch_image_resize -->
<script type="text/javascript">
//<![CDATA[
$(resize_images({ 'selector' : '.postbody', 'max_width' : {switch_image_resize.IMG_RESIZE_WIDTH}, 'max_height' : {switch_image_resize.IMG_RESIZE_HEIGHT} }));
//]]>
</script>
<!-- END switch_image_resize -->
<script src="{JS_DIR}addthis/addthis_widget.js" type="text/javascript"></script>


Ensuite, nous allons ajouter le CSS pour donner forme à notre code.
Code:
/*Affichage des sujets par Cheshire Cat*/
/*Message du posteur*/
.affichagesujet{
  margin:10px 0;
  background-color:#BAC49C;
}
.sujettitre{
  margin:0 0 10px;
  padding:5px;
  background-color:#E2DFED;
  color:#8665AB;
  font-family: 'Amaranth', sans-serif;
  font-size:24px;
  text-transform:uppercase;
  text-align:center;
  font-weight:normal;
  letter-spacing:2px;
}
.sujettitre .nav{
  font-size:0;
}
.sujettitre .nav a{
  color:#8665AB!important;
  font-size:12px;
  font-weight:normal;
}
.sujettitre .nav a:not(:last-of-type):after{
  content:"-";
  margin:0 2px;
}
.paginationsujet{
  font-size:12px;
  padding:0 10px;
  color:#504254;
}
.paginationsujet a{
  color:#504254!important;
}
.paginationsujet img{
  height:10px;
  opacity:0.8;
}
.heureedit{
  height:20px;
  padding:10px 10px 0 0;
}
.on{
  float:left;
}
.heure{
  float:right;
  font-family: 'Titillium Web', sans-serif;
  font-size:12px;
  font-weight:bold;
  color:#794F82;
  text-transform:uppercase;
}
.imagesedit{
  text-align:right;
}
.imagesedit img{
  height:20px;
  opacity:0.8;
  margin:0 3px;
}
.affichmess{
  width:480px;
  min-height:357px;
  margin:10px;
  padding:10px;
  background-color:#929a79;
  font-size:12px;
  color:#504254;
  text-align:justify;
  font-family:Roboto;
  line-height:18px;
}
.signmss{
  min-height:100px;
  max-height:200px;
  margin:0 10px 10px;
  padding:10px;
  color:#504254;
  background-color:#E2DFED;
  overflow:auto;
  font-size:12px;
  font-family: 'Roboto', sans-serif;
}
.signmss br:first-of-type,
.signmss br:nth-of-type(2){
  display:none;
}
/*Profil du posteur*/
.profilmodif{
  z-index:1;
  width:200px;
  background-color:#E2DFED;
  margin:0 0 10px 10px;
}
.pseudo{
  margin:0;
  padding:7px 0 5px;
  text-align:center;
  font-family:Yanone Kaffeesatz;
  font-size:23px;
}
.pseudo strong{
  font-weight:normal;
}
.pseudo a{
  text-decoration:none !important;
}
.pseudo a:hover{
  text-decoration:none !important;
}
.profavatar{
  position:relative;
  width:200px;
  height:320px;
  overflow:hidden;
}
.profil_avatar img{
  position:absolute;
  top:-15px;
  left:0px;
  height:320px;
  width:200px;
  margin-top:15px;
  transition: all 600ms;
}
.profavatar:hover .profil_avatar img {
  -webkit-transform:translatex(-200px);
  transform:translatex(-200px);
}
.infos{
  position:absolute;
  top:0px;
  left:0px;
  width:190px;
  height:310px;
  overflow:auto;
  padding:5px;
  text-align:left;
  letter-spacing:0px;
  color:#504254;
  font-size:12px;
  font-family: 'Roboto', sans-serif;
  background-color:#f4ecea;
}
.rang{
  overflow:hidden;
  color:#504254;
  text-align:center;
  font-size:20px;
  letter-spacing:-2px;
  font-family: 'Titillium Web', sans-serif;
}
.rang img{
  height:20px;
  opacity:0.8;
  margin:0 2px;
}

/* empeche certaines infos du profil de depasser*/
.profavatar .infos img,
.profavatar .infos textarea {
  max-width: 100%;
  box-sizing: border-box;
}


N'oubliez pas de bien valider vos templates et votre CSS, et tout est bon ! Very Happy

Mettre un crédit vers Never-Utopia est obligatoire. Retirer un crédit est interdit.
Merci de laisser un message pour donner vos impressions, commentaires et/ou remerciements ^^

Bloc de connexion rapide verte avec une image - Dim 6 Mar 2016 - 12:29



Bloc de connexion rapide verte



Ce LS remplace le bloc de connexion rapide présent sur l'index du forum.

  • Incompatible avec la connexion rapide par Facebook (Facebook Connect)
  • Modification du template index_body (il faut donc être fondateur du forum)
  • Testé sur phphbb2


Il s'agit du bloc de connexion. La partie image à gauche est un lien version l'inscription.
Tag css sur Never Utopia - graphisme, codage et game design - Page 3 UAOOHiJ

L'image fait 80px par 80px, vous pouvez mettre plus grand, mais gardez une image carrée :)

Template


Pensez à activer la connexion rapide sur le panneau d'admin :
PA > Affichage > Page d'accueil > Généralités > Affichage de la connexion rapide



Le template à modifier est index_body
PA > Affichage > Templates > Général >  index_body

Le code de connexion rapide est présent 2 fois dans le template, pour la connexion rapide en haut et celle en bas.
En fonction de ce que vous avez choisi (en haut / en bas), il faudra la remplacer au bon endroit.


Connexion rapide en haut


Le code se situe entre ces deux lignes :
Code:
<!-- BEGIN switch_user_login_form_header -->
       REMPLACEZ TOUT LE CODE ENTRE LES 2 PAR LE HTML PLUS BAS
<!-- END switch_user_login_form_header -->



Connexion rapide en bas


Le code se situe entre ces deux lignes :
Code:
<!-- BEGIN switch_user_login_form_footer -->
       REMPLACEZ TOUT LE CODE ENTRE LES 2 PAR LE HTML PLUS BAS
<!-- END switch_user_login_form_footer -->



Le HTML


Code:
<!-- DEBUT LS CONNEXION RAPIDE VERTE NEVER UTOPIA -->

<!-- Ajout de la police -->
<link href='https://fonts.googleapis.com/css?family=Playfair+Display' rel='stylesheet' type='text/css'>

<div class="cnxl-bloc">
    <form class="cnxl-form" action="{S_LOGIN_ACTION}" method="post" name="form_login">
      <!-- Bloc gauche - INSCRIPTION-->
       <a class="cnxl-inscription" href="/register" title="S'inscrire !">
           <img src="http://image.noelshack.com/fichiers/2016/09/1457207134-decoration.png" alt="Rejoindre le forum" />
       </a>

         <!-- Bloc milieu - LES CHAMPS A REMPLIR-->
        <div class="cnxl-input-bloc">
            <input type="text" name="username" placeholder="Pseudo" />
            <input type="password" name="password" placeholder="Mot de passe" />
        </div>

         <!-- Bloc droit - BOUTON CONNEXION-->
         <div class="cnxl-submit-bloc">
            <input type="submit" name="login" value="Connexion" />
        </div>

        <!-- En bas-->
        <div>
            <input class="radio" type="checkbox" name="autologin" id="autologin" {AUTOLOGIN_CHECKED} />
            <label for="autologin">Connexion automatique</label>
        </div>
    </form>
    <a href="/profile?mode=sendpassword" title="Récupérer son mot de passe">Mot de passe oublié ?</a>
</div>
<!-- DEBUT LS CONNEXION RAPIDE VERTE NEVER UTOPIA -->


Si vous avez choisi de l'afficher en haut et en bas :
Spoiler:


CSS


PA > Affichage > Images & Couleurs > Couleurs > Onglet "Feuille de style"

Code:
/*
 * Libre service bloc de connexion rapide verte
 * NEVER UTOPIA
 */

 /* Bloc qui entoure tout */
 .cnxl-bloc {
     margin: 20px auto;

     font-family: 'Playfair Display', serif;
     text-align: center;
     font-size: 15px;
     color: #484848;
 }

 /* Aligner les 3 blocs */
 .cnxl-submit-bloc,
 .cnxl-inscription,
 .cnxl-input-bloc {
     display: inline-block;
     vertical-align: middle;
 }

 /* Style commun pour tous les champs */
 .cnxl-form input {
     padding: 10px;
     border: none;
     font-family: inherit;
     font-size: 15px;
     outline: none;
 }

 /*
  * Décoration à gauche
  * Inscription
  */

 .cnxl-inscription {
     width: 80px;
     height: 80px;
     border-radius: 50%;
     border: 2px solid #E5DB84;
     padding: 8px;
 }

 .cnxl-inscription img {
     width: 100%;
     height: 100%;
     object-fit: cover;
     border-radius: 50%;
 }


 /*
  * Champs à remplir au centre
  */

 .cnxl-input-bloc {
     margin: 0 20px;
     width: 200px;
     border-radius: 5px;
     box-shadow: 0 0 0 2px #E5DB84;
     overflow: hidden;
     padding: 0 5px; /* espace entre le bord et le trait des input */
     background: #FFFFFF;
 }

 .cnxl-input-bloc input {
     color: black;
     box-sizing: border-box;
     display: block;
     width: 100%;
     border-bottom: 1px solid #E5DB84; /* bordure entre les input */
     box-shadow: 0 0 0 100px #ffffff inset; /* couleur de fond des input */
 }
 .cnxl-input-bloc input:last-of-type {
     border: none;
 }


 /*
  * Connexion à droite
  */

 /* Bouton de connexion */
 .cnxl-submit-bloc input {
     background: #E5DB84;
     border-radius: 3px;
     cursor: pointer;
     transition: all 300ms ease-out;
 }

 /* Bouton de connexion au survol */
 .cnxl-submit-bloc input:hover {
     background: #ede390;
 }

 /*
  * Zone en bas
  */

 .cnxl-form label {
     cursor: pointer;
 }

 /* Liens (Mot de passe oublié) */
 .cnxl-bloc a {
     font-size: 10px;
     text-decoration: none!important;
     color: #766e6e;
     text-decoration: none;
     transition: all 300ms ease-out;
 }

 /* Liens au survol (Mot de passe oublié) */
 .cnxl-bloc a:hover {
     color: #a79d46;
 }

 /*
  * Fin libre service Connexion rapide verte
  * Never Utopia
  */


En cas de problème, merci de vous rendre dans la section "Problème avec mon code" ou "Personnalisation"  :hudada:


Merci de penser à créditer Never Utopia, avec un lien vers le forum, merci  :lovebomb:

JodieCravery

Message RP en CSS - Dim 6 Mar 2016 - 10:27



Bonjour à tous ceux qui lisent ce message .o.

Je ne suis pas la personne la plus douée du monde mais, de temps en temps, je fais des codes pas trop hasardeux et qui donneront pas envie de s'arracher les yeux à des codeurs expérimentés (quoique). Du coup je me suis dit qu'en guise de première participation au forum, j'allais vous proposer un code que j'ai réalisé il y a quelques temps et dont je ne me sers plus vraiment. Il y a deux façon de faire cette fiche de réponse pour qu'elle soit entièrement personnalisable :
- Avec le CSS du forum (si vous êtes administrateur, donc)
- Avec une fiche CSS hébergée sur internet et liée à la fiche

Je propose aussi une version du code avec le CSS directement dans le html, mais certaines parties ne seront pas personnalisables (seulement l'ombre, la couleur de fond, les dimensions hauteur/largeur, la couleur de la bordure et du texte et le titre). Dans tous les cas, il ne faut pas supprimer le lien vers la fiche CSS pour garder l'aspect de la fiche.

Aperçu:


La grande image, en plus de devenir transparente et de "s'agrandir", passe aussi en noir et blanc. L'opacité finale est modifiable dans le css, sinon l'opacité par défaut est de 40%. Pour le texte, la barre de défilement est située à gauche.


Les Codes



HTML avec CSS :
Code:
<link href="http://www.aht.li/2840022/Fiche_Basique.css" rel="stylesheet" type="text/css" />
<link href='http://fonts.googleapis.com/css?family=Mr+Dafoe' rel='stylesheet' type='text/css' />
<div class="title" style="width:500px;"><div class="block-title-on" style="width: 500px;  height: 208px;"><a href="LIEN VERS LA PREMIÈRE PAGE DU RP"><img src="LIEN IMAGE EN 500*208" style="width:500px; height:208px;"/></a><div class="block-title-under" style="vertical-align:middle; text-align:center; font-variant:small-caps; padding-top:30px;"><span style="text-shadow: 2px 2px 2px #766344; font-family: 'Mr Dafoe', cursive; font-size: 40px;">TITRE DU RP</span><div class="img-rp" style="letter-spacing : 15px;">
<img src="LIEN IMAGE 100*100 GAUCHE" width="100px" height="100px"/> <img src="LIEN IMAGE 100*100 DROITE" width="100px" height="100px"/></div>Ft JOUEUR UN & JOUEUR DEUX</div></div></div>
<div class="rp" style="width:540px;margin-top:5px;"><div class="rp-txt" style="height:700px;  color:black;  border-bottom:8px solid black;  border-left:1px solid black; box-shadow: 10px 10px 5px 0px rgba(0,0,0,0.75); background-color:#306B17; "><div class="rp-scroll">
--------------------------------> CONTENU DE VOTRE RP <-----------------------------
</div></div> <span style="font-size:10px; color:black;">@ Jodie Cravery sur <a href="http://www.never-utopia.com">Never Utopia</a></span></div>

Vous pouvez donc modifier :
- La taille du bloc contenant l'image-titre ("title" et "block-title-on")
- Les dimensions de la première image ("LIEN IMAGE EN 500*208" style="width:500px; height:208px;"), veillez cependant à ce que les dimensions soient les mêmes que celle du bloc.
- Le format de ce qui apparaît au survol de l'image-titre ("block-title-under")
- Le format du texte du titre (tout ce qui est dans le style du span)
- L'espace entre les deux images en 100*100 ("letter-spacing : 15px;")
- La taille de ces images (directement dans le width et le height des images)
- La largeur du bloc de texte ("rp")
- La hauteur, la couleur de fond, la couleur d'écriture, les bordures et les ombres du bloc de texte ("rp-txt")


HTML sans CSS :
Code:
<link href='http://fonts.googleapis.com/css?family=Mr+Dafoe' rel='stylesheet' type='text/css' />
<div class="title"><div class="block-title-on"><a href="LIEN VERS LA PREMI7RE PAGE DU RP"><img src="LIEN IMAGE EN 500*208"/></a><div class="block-title-under"><span style="text-shadow: 2px 2px 2px #766344; font-family: 'Mr Dafoe', cursive; font-size: 40px;">TITRE DU RP</span><div class="img-rp">
<img src="LIEN IMAGE 100*100 GAUCHE" width="100px" height="100px"/> <img src="LIEN IMAGE 100*100 DROITE" width="100px" height="100px"/></div>Ft JOUEUR UN & JOUEUR DEUX</div></div></div>
<div class="rp" style="margin-top:5px;"><div class="rp-txt" style="color:black; background-color:#306B17;"><div class="rp-scroll">
--------------------------------> CONTENU DE VOTRE RP <-----------------------------
</div></div> <span style="font-size:10px; color:black;">@ Jodie Cravery sur <a href="http://www.never-utopia.com">Never Utopia</a></span></div>


Code CSS :
Code:
.title {
  margin:auto; /*centrage du bloc titre et image*/
    width:500px; /*largeur du bloc titre et image*/
}

.block-title-on
{
   -webkit-transition: all 1.5s ease; /*vitesse de transition*/
   transition: all 1.5s ease; /*vitesse de transition*/
   display: block;
   width: 500px; /*largeur du bloc titre et image*/
   height: 208px; /*hauteur du bloc titre et image*/
   position: relative;
  opacity: 1.0; /*opacité de base de l'image */
  filter: alpha(opacity=100);  /*opacité de base de l'image */
  filter: grayscale(0); /*opacité de base de l'image */
        -webkit-filter: grayscale(0); /*image en couleurs*/
}

.block-title-on:hover a img {
     display: block;
   -webkit-transition: all 1.5s ease; /*vitesse de transition*/
   transition: all 1.5s ease; /*vitesse de transition*/
   opacity: 0.4; /*opacité de l'image au survol*/
    filter: alpha(opacity=40);   /*opacité de l'image au survol*/
  width:500px; /*largeur de l'image au survol */
  height:208px;  /*hauteur de l'image au survol */
   filter: grayscale(1); /*passage de l'image en noir et blanc*/
   -webkit-filter: grayscale(1); /*passage de l'image en noir et blanc*/
border-radius: 1px; /*diminution de l'arrondi au survol*/
}

.block-title-on a img {
     display: block;
     position: absolute;
    left: 0; right: 0;
  top: 0; bottom: 0;
  -webkit-transition: all 1.5s ease; /*vitesse de transition*/
  transition: all 1.5s ease;  /*vitesse de transition*/
   width:500px; /*largeur de base de l'image */
  height:208px; /*hauteur de base de l'image */
border-radius: 50px; /* arrondi de base de l'image*/
border-top-left-radius: 15px; /* arrondi de base de l'image haut gauche*/
border-bottom-right-radius: 15px; /* arrondi de base de l'image bas droite*/
}

.block-title-under {
    vertical-align:middle; /*centrage vertical du texte*/
text-align:center;  /*centrage du texte */
font-variant:small-caps; /*passage en petites majuscules */
  padding-top:30px; /*écart avec le haut du bloc titre*/
 }

.block-title-under img {
   width:100px; /*largeur des petites images */
  height:100p ; /* hauteur des petites imaages*/
border-radius: 50px; /*arrondi des petites images */
border-top-left-radius: 15px;/*arrondi des petites images haut gauche */
border-bottom-right-radius: 15px;x;/*arrondi des petites images bas droite*/
}

.img-rp {
  letter-spacing : 15px;} /*espace entre les deux images */

.rp {
  margin:auto; /*centrage du bloc rp*/
  width:540px; /*largeur du bloc rp*/
  padding-left:10px;
  margin-bottom:20px;
}

.rp-txt {
  height:700px; /*hauteur du bloc rp*/
  overflow:auto; /*barre de défilement automatique*/
border-top-left-radius: 2px; /*arrondi haut gauche */
border-top-right-radius: 20px; /*arrondi haut droite */
border-bottom-right-radius: 100px;/*arrondi bas droite */
border-bottom-left-radius: 2px; /*arrondi bas gauche */
  padding:10px 25px 15px 10px;
  border-bottom:8px solid black; /*bordure bas */
  border-left:1px solid black; /*bordure gauche*/
box-shadow: 10px 10px 5px 0px rgba(0,0,0,0.75); /*ombre du bloc texte*/
  direction:rtl; /*NE PAS MODIFIER*/
  text-align:justify; /*NE PAS MODIFIER*/
}

.rp-scroll {
  direction:ltr; /*NE PAS MODIFIER*/
    text-align:justify; /*NE PAS MODIFIER*/
}

.rp-txt::-webkit-scrollbar {
    width: 3px; /*largeur de la barre de défilement*/
}
 
.rp-txt::-webkit-scrollbar-track {
          box-shadow: inset 0 0 6px rgba(0,0,0,0.5);
  background-color:black; /*couleur de la barre de défilement*/
}
 
.rp-txt::-webkit-scrollbar-thumb {
        box-shadow: inset 0 0 6px rgba(0,0,0,0.5);
  background-color:#DDDDDD; /*couleur du rectangle dans la barre de défilement*/
}

J'ai fait le code CSS le plus clair possible pour rendre la personnalisation simple. La couleur de fond et la couleur du texte restent modifiables directement dans le html, tout comme le format du titre (police, taille, ombre, etc). Si vous ne voulez vraiment rien modifier d'autre, il vous suffit de coller ce code au début de votre fiche pour que la mise en page se fasse d'elle-même :
Code:
<link href="http://www.aht.li/2840035/Fiche_Complete.css" rel="stylesheet" type="text/css" />

Bon, et si vous n'avez pas d'image à la bonne taille pour le titre du rp et que vous avez la flemme de chercher ou d'en faire une, je vous offre des cactus :
Code:
http://i.imgur.com/J3kEMuF.png


C'est ma première contribution, j'espère donc que c'est assez clair. N'hésitez pas à poser des questions si j'ai mal explicité certains points.
Il faut poster à la suite pour voir les codes ~

Nihil Scar Winspeare

Connexion rapide noire et rouge - Sam 5 Mar 2016 - 18:28



Bloc de connexion rapide



Ce LS remplace le bloc de connexion rapide présent sur l'index du forum.

  • Incompatible avec la connexion rapide par Facebook (Facebook Connect)
  • Modification du template index_body (il faut donc être fondateur du forum)
  • Testé sur phphbb2


Il s'agit du bloc noir
Tag css sur Never Utopia - graphisme, codage et game design - Page 3 Sa1qZNR

Template


Pensez à activer la connexion rapide sur le panneau d'admin :
PA > Affichage > Page d'accueil > Généralités > Affichage de la connexion rapide



Le template à modifier est index_body
PA > Affichage > Templates > Général >  index_body

Le code de connexion rapide est présent 2 fois dans le template, pour la connexion rapide en haut et celle en bas.
En fonction de ce que vous avez choisi (en haut / en bas), il faudra la remplacer au bon endroit.


Connexion rapide en haut


Le code se situe entre ces deux lignes :
Code:
<!-- BEGIN switch_user_login_form_header -->
       REMPLACEZ TOUT LE CODE ENTRE LES 2 PAR LE HTML PLUS BAS
<!-- END switch_user_login_form_header -->



Connexion rapide en bas


Le code se situe entre ces deux lignes :
Code:
<!-- BEGIN switch_user_login_form_footer -->
       REMPLACEZ TOUT LE CODE ENTRE LES 2 PAR LE HTML PLUS BAS
<!-- END switch_user_login_form_footer -->



Le HTML


Code:
<!-- DEBUT LS CONNEXION RAPIDE NEVER UTOPIA -->

<!-- Ajout de la police -->
<link href='https://fonts.googleapis.com/css?family=Arapey' rel='stylesheet' type='text/css' />

<div class="connexion-bloc">
    <form class="connexion-form" action="{S_LOGIN_ACTION}" method="post" name="form_login">
        <div><input type="text" name="username" placeholder="Nom d'utilisateur"/></div>
        <div><input type="password" name="password" placeholder="Mot de passe"/></div>
        <div>
<input class="radio" type="checkbox" name="autologin" id="autologin" {AUTOLOGIN_CHECKED} />
<label for="autologin">Connexion automatique</label>
        </div>
        <input type="submit" name="login" value="Connexion" />
    </form><!-- fermeture du bloc du formulaire -->
    <a href="/profile?mode=sendpassword" title="Récupérer son mot de passe">Mot de passe oublié ?</a>
</div>
<!-- DEBUT LS CONNEXION RAPIDE NEVER UTOPIA -->


Si vous avez choisi de l'afficher en haut et en bas :

Spoiler:


CSS


PA > Affichage > Images & Couleurs > Couleurs > Onglet "Feuille de style"

Code:
/*
 * Libre service bloc de connexion rapide
 * NEVER UTOPIA
 */

/* Bloc qui entoure tout */
.connexion-bloc {
    margin: 20px auto;
    padding: 20px 0;

    background: #040004;

    font-family: 'Arapey', serif;
    color: #ffffff;
    text-align: center;

    font-size: 15px;
}

/* Formulaire */
.connexion-form {
    width: 50%;
    min-width: 190px;

    margin: auto;
    margin-bottom: 30px;

    padding: 20px;
    padding-top: 30px;

    position: relative;
    border: 2px solid #FA023C;
}

/* Les champs */
.connexion-form input {
    padding: 10px 20px;
    margin-bottom: 15px;

    background: #ffffff;
    border: none;

    font-family: inherit;
    font-size: 15px;

    outline: none;
}

.connexion-form label {
    cursor: pointer;
}

/* Bouton de connexion */
.connexion-form input[type="submit"] {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translate(-50%, 50%);

    background: #FA023C;
    color: #ffffff;
    text-transform: uppercase;
    letter-spacing: 0.25em;
    font-size: 16px;

    padding: 10px 18px;
    margin: 0;

    cursor: pointer;
    transition: all 1000ms;
}

/* Bouton de connexion au survol */
.connexion-form input[type="submit"]:hover {
    color: #FA023C;
    background: #262323;
}

/* Liens (Mot de passe oublié) */
.connexion-bloc a {
    text-decoration: none!important;
    color: #766e6e;
    text-decoration: none;
    transition: all 300ms ease-out;
}

/* Liens au survol (Mot de passe oublié) */
.connexion-bloc a:hover {
    color: #FA023C;
}
/*
 * Fin libre service Connexion rapide
 * Never Utopia
 */


En cas de problème, merci de vous rendre dans la section "[url=/f177-probleme-avec-mon-code]Problème avec mon code[/url]" ou "[url=/f75-personnalisations]Personnalisation[/url]"  :hudada:


Merci de penser à créditer Never Utopia, avec un lien vers le forum, merci  :lovebomb:

Liste de propriétés, entre célèbres et plus méconnues - Sam 9 Jan 2016 - 1:57



Yop !

Je vais essayer aujourd'hui de dresser un exemplier de toutes les propriétés liées à l'esthétique qui vous permettront donc de réaliser avec précision ce que vous avez en tête. En effet, beaucoup de balises restent peu connues. J'ai découvert il y'a seulement un mois que l'on pouvait mettre un dégradé sur un bloc. Mon tutoriel n'est pas exhaustif, il y'a surement d'autres propriétés que je ne connais pas. Vous pouvez tout à fait me les soumettre à la suite afin que je les ajoute ^^


Menu des propriétés relatives:
I. Au texte, à la police
II. Au bloc
III. A la bordure


I. Propriétés de la police

Prenons un exemple simple:  Je suis un bateau.
Voici les propriétés permettant d'en modifier l'esthétisme. Je mets ici les balises qui sont aussi les plus connues dans un soucis d'exhaustivité.

La propriété  "font-size" permet de régler la taille de la police. La valeur est exprimée en diverses unités de mesures mais les plus utilisées (et pratiques) sont le pixel (px, valeur fixe) et le pourcentage (%, valeur relative, variant suivant la taille de l'écran).
Exemple :
Code:
<div style=" font-size: 20px;"> Je suis un bateau. </div>

Donne:
Je suis un bateau.


La propriété  "color" permet de définir la couleur du texte.Le plus souvent, elle est exprimée en hexadécimal (mais si vous savez, cette chose: #FF6347) ou par son nom (blue, tomato, lightgreen etc. Pour toutes les voir, vous pouvez aller ici: http://web-color.aliasdmc.fr/ ).
Exemple :
Code:
<div style="color: blue;"> Je suis un bateau. </div>

Donne:
Je suis un bateau.


La propriété  "font-family" permet de changer la police d'un texte. La valeur (votre nom de police) se met entre guillemets simples. Vous pouvez trouver des polices originales sur le site google font, à installer sur l'ensemble de votre forum en copiant simplement après la balise head dans le template overall_header, ou dans votre message avant votre codage, le bout du code fourni sous cette forme:
Code:
<link href="https://fonts.googleapis.com/css?family=Griffy" rel="stylesheet">

Vous pouvez ajouter un autre police "au cas où" après une virgule et sans guillemets. Imaginons pendant une panne du site "google font", celle ci sera alors remplacé par cette police (times imaginons) ou un style de police (serif, sans-serif, cursive, fantasy, monospace)
Exemple :
Code:
<div style="font-family: 'Griffy', cursive; "> Je suis un bateau. </div>

Donne:
Je suis un bateau.


La propriété  "font-style" permet d'afficher le texte en italique en y associant la valeur "italic", en oblique avec la valeur "oblique" (mais il y'a peu de différence suivent les polices), ou en "normal".
Exemple :
Code:
<div style="font-style: italic;"> Je suis un bateau. </div>

Donne:
Je suis un bateau.

Code:
<div style="font-style: oblique;"> Je suis un bateau. </div>

Donne:
Je suis un bateau.


La propriété  "font-weight" permet de définir l'épaisseur du texte, en y associant la valeur "bold" on met le texte en gras, "bolder" en plus gras encore, "normal" de façon normal et "lighter" en plus léger. (Attention avec certaines polices, cela n'a aucun effet). On peut aussi définir l'épaisseur de sa police en utilisant des nombres compris entre 100 (très fin, lighter) à 900 (très gras, bolder). La valeur "normal" est à 400.
Exemple :
Code:
<div style="font-family: 'Open Sans'; font-weight: lighter;"> Je suis un bateau. </div>

Donne:
Je suis un bateau.

Code:
<div style="font-family: 'Open Sans'; font-weight: bold;"> Je suis un bateau. </div>

Donne:
Je suis un bateau.

Avec les chiffres: (respectivement 300, 400, 600, 700, 900)
Code:
<div style="font-family: 'Open Sans'; font-weight: 300;"> Je suis un bateau. </div>

Donne:
Je suis un bateau.

Je suis un bateau
Je suis un bateau
Je suis un bateau
Je suis un bateau

La propriété  " font-variant" permet d'afficher le texte en petites capitales en y associant la valeur "small-caps". Ou "normal" (je ne préciserais plus que normal vaut dire qu'elle prend sa valeur de base, sa valeur normale).
Exemple :
Code:
<div style=" font-variant: small-caps; "> Je suis un bateau. </div>

Donne:
Je suis un bateau.


La propriété  "line-height" permet de gérer l'espace interligne. La valeur est exprimée en diverses unités de mesures mais les plus utilisées (et pratiques) sont le pixel (px), le pourcentage (%) et le numérique (exprimé en chiffre, se fonde sur la valeur de font-size, le 1 étant l'écart normal).
Exemple :  
Je suis un bateau.
Je suis un beau bateau.
Code:
<div style="line-height: 10px; "> Je suis un bateau.
Je suis un beau bateau.  </div>

Donne:
Je suis un bateau.
Je suis un beau bateau.

Code:
<div style="line-height: 2; "> Je suis un bateau.
Je suis un beau bateau.  </div>

Donne:
Je suis un bateau.
Je suis un beau bateau.


La propriété  "text-shadow:" permet d'ajouter des ombres au texte. La valeur associée s'écrit de la sorte: "décalage horizontal    décalage verticale    niveau de flou    couleur". Il peut y avoir deux ombres différentes (regardez le troisième exemple)
Exemple :
Code:
<div style="text-shadow: 2px 2px 0px white;"> Je suis un bateau. </div>

Donne:
Je suis un bateau.

Code:
<div style="text-shadow: -2px -2px 2px grey;"> Je suis un bateau. </div>

Donne:
Je suis un bateau.

Code:
<div style="text-shadow: 2px 2px 0px orange, -1px -1px 0px blue;"> Je suis un bateau. </div>

Donne:
Je suis un bateau.


La propriété  " letter-spacing" permet de régler l'espace entre les lettres. Généralement utilisée avec les pixels, on ne peut pas utiliser les pourcentages pour exprimer la valeur.
Exemple :
Code:
<div style=" letter-spacing: 10px;"> Je suis un bateau. </div>

Donne:
Je suis un bateau.



La propriété  "text-align" permet de régler l'alignement horizontale du texte: à gauche (left), à droite (right), au centre (center) ou justifié (justify). Un texte justifié est un texte aligné à gauche et à droite, si bien que l'espace entre les mots s'adaptent afin que le texte ait cette forme de bloc, de carré. La propriété text-align déplace de manière général tout élément inline.
Exemple :
Code:
<div style="text-align: center;"> Je suis un bateau. </div>

Donne:
Je suis un bateau.


Vous voulez aligner du texte verticalement dans un bloc? ( Cette propriété touche plus au bloc qu'à la police mais bon, je me suis dit que si vous cherchiez la solution, vous iriez davantage voir de ce côté-ci que dans le post qui suit. ) Il existe plusieurs solutions, je vais vous énumérer. La propriété  "vertical-align: middle" vous le permet mais seulement si vous convertissez votre élément en une cellule de tableau ("display:table-cell").
Exemple :
Code:
<div style="width: 200px; height:100Px; background: white; display:table-cell; vertical-align: middle;"> Je suis un bateau. </div>

Donne:
Je suis un bateau.

La deuxième solution utilise plusieurs propriétés et valeurs! L'élément doit être en "position:absolute", avec un "top:50%", et un "transform: translateY(-50%)".
Une troisième solution est l'utilisation de flexbox (ce que je recommende super-méga-fortement pour le positionnement, c'est une vraie révolution pratique !) Il faut utiliser deux blocs, le premier englobe le second, le premier est un parent, le second un enfant. On peut indiquer l'alignement sur l'enfant, en mettant le "display: flex" sur le parent et "margin-auto" sur l'enfant (et oui, c'est tout bête)
Exemple :
Code:
<div style="width: 200px; height:100Px; background: white; display: flex;"><div style="margin:auto;"> Je suis un bateau. </div></div>

Donne:
Je suis un bateau.

On peut également indiquer l'alignement sur le parent avec un "display: flex; ", "flex-direction: column" et un "justify-content: center".
Exemple :
Code:
<div style="width: 200px; height:100Px; background: white; display: flex; flex-direction: column; justify-content: center;"><div style="color:darkgrey;"> Je suis un bateau. </div></div>

Donne:
Je suis un bateau.


La propriété  " text-indent" permet de définir la longueur de l'espace avant la première ligne de texte dans un élément le contenant. La valeur est exprimée en diverses unités de mesures mais les plus utilisées (et pratiques) sont le pixel (px, valeur fixe) et le pourcentage (%, valeur relative, variant suivant la taille de l'écran). ( Ce qui suit ne fonctionne malheureusement pas sur la grande majorité des navigateurs mais cela pourrait changer à l'avenir alors je vous le mets tout de même). Elle peut aussi être associée avec la valeur "each-line" qui permet de définir cet espace pour la première ligne certes, mais plus encore, après chaque saut de ligne "forcé" (qui ne sont pas automatiques), sous la forme "text-indent: unité-de-longueur each-line;". Associée à la valeur "hanging", toutes les lignes auront cet espace SAUF la première. Vous pouvez aussi associer "hanging" et "each-line" ensemble.
Exemple :
Code:
<div style="width: 200px; height:120Px; background: white; text-indent: 20px;">Je suis un bateau. Un énorme bateau.
Je vous jure, promis. Genre le truc de croisière, oui celui-là même qui s'est écrasé sur un ice-berg.  </div>

Donne:
Je suis un bateau. Un énorme bateau.
Je vous jure, promis. Genre le truc de croisière, oui celui-là même qui s'est écrasé sur un ice-berg.


La propriété  " text-align-last" permet de définir la façon dont la dernière ligne du texte doit être alignée, ainsi que celles qui sont avant un saut de ligne forcé . Elle peut être associée à la valeur "left" (gauche), "right" (droite), "center" (centré) et "justify" (justifié).
Exemple :
Code:
<div style="width: 200px; height:120Px; background: white; text-align-last: center;">Je suis un bateau. Un énorme bateau.
Je vous jure, promis. Genre le truc de croisière, oui celui-là même qui s'est écrasé sur un ice-berg.  </div>

Donne:
Je suis un bateau. Un énorme bateau.
Je vous jure, promis. Genre le truc de croisière, oui celui-là même qui s'est écrasé sur un ice-berg.


La propriété  " word-spacing" permet de régler l'espace entre les mots. La valeur est exprimée en diverses unités de mesures mais les plus utilisées (et pratiques) sont le pixel (px, valeur fixe) et le pourcentage (%, valeur relative, variant suivant la taille de l'écran).
Exemple :
Code:
<div style="word-spacing:15px; "> Je suis un bateau. </div>

Donne:
Je suis un bateau.


La propriété  "text-transform" permet de modifier ce qui attrait aux majuscules, minuscules. La valeur "capitalize" permet de mettre la première lettre du texte en majuscule, la valeur "uppercase" permet de mettre tout en majuscule, la valeur "lowercase"permet de mettre tout en minuscule, la valeur "none" produit un texte normal (valeur par défault).
Exemple :
Code:
<div style="text-transform: uppercase;"> Je suis un bateau. </div>

Donne:
Je suis un bateau.


La propriété  "text-decoration" permet de modifier la décoration d'un mot (le soulignement par exemple). La valeur "underline" permet de le souligner, la valeur "overline" permet de le surligner, la valeur "line-through" de le barrer, la valeur "none" de ne pas le décorer (pratique pour enlever le soulignement des liens par exemple).
Exemple :
Code:
<div style="text-decoration: overline;"> Je suis un bateau. </div>

Donne:
Je suis un bateau.

Les autres:
Je suis un bateau sous underline.

Je suis un bateau sous line-through.



La propriété  "font-stretch" permet d'afficher le texte de façon resserré avec les valeurs "semi-condensed, condensed", "extra-condensed" et "ultra-condensed" ou moins resserré avec "semi-expanded", "expanded", "extra-expanded" et "ultra-expanded".
Exemple :
Code:
<div style="font-family:'Times New Roman';font-stretch:normal;"> Je suis un bateau. </div>

Donne:
Je suis un bateau.

Code:
<div style="font-family:'Times New Roman';font-stretch: ultra-condensed;"> Je suis un bateau. </div>

Donne:
Je suis un bateau.

Code:
<div style="font-family:'Times New Roman';font-stretch: ultra-expanded;"> Je suis un bateau. </div>

Donne:
Je suis un bateau.



Du coup, un petit code à remplir, avec toutes les propriétés vues précédemment:
Code:
.police {
font-size: ;
color: ;
font-family: '  ' ;
font-style: ;
font-weight: ;
font-variant: ;
line-height: ;
text-shadow: décalage horizontal décalage verticale niveau de flou  couleur , décalage horizontal    décalage verticale    niveau de flou    couleur;
letter-spacing: ;
text-align: ;
text-decoration: ;
word-spacing; ;
text-transform: ;
font-stretch: ;
font-size-adjust : ;
text-indent: ;
text-align-last: ;
}  


Youp

Fiche de pub coloréé en page html - Jeu 7 Jan 2016 - 16:50



Hey ! Voici une petite fiche de pub sympathique aux couleurs estivales. Il y'a des animations sur la partie staff, qui dévoile le nom du staff. La voici: (vous n'aurez pas les images dans le code, à vous de les mettre, mais je vous expliquerais où)



Ce livre nécessite une page html, une page qui sera hébergée sur un forum donc. Mais ne vous en faites pas, ce n'est vraiment pas sorcier


Le code de la page html et ses explications

Donc dans modules -> gestion des pages html -> créer en mode avancé, vous mettez ceci :
Code:
<!DOCTYPE html>
  <html>
    <head> 
      <meta charset="utf-8" />
      <title>Fiche de pub pour refresh</title>
      <base target="_blank" />
      <style type="text/css">
.page{
  width: 550px;
  height: 900px;
  background: lightblue;
  background-image: url('LIEN');
  background-repeat: no-repeat;
}

a {
  text-decoration:none;
  color: white !important;
}

.titre {
  color : #fb6920;
  font-size: 24px;
  font-weight: ;
  letter-spacing: px;
  font-family: 'Indie Flower';
  float: right;
  position: relative;
  margin-right: 20px;
  margin-top: 257px;
  text-shadow: 2px 2px 0px white, -1px -1px 0px white;
}    

.contexte{
  width: 350px;
  height: 310px;
  background: white;
  position: absolute;
  top: 300px;
  overflow: auto;
  margin-left: 25px;
  font-size: 15px;
  padding: 7px;
  text-align:justify;
  color: chocolate;
}

.contexte:first-letter {
  font-size:290%;
  float:left;
  background: #fb6920;
  color: white;
  padding-left: 6px;
  padding-right: 5px;
  margin-right: 3px;
}  

.staff1{
  width: 100px;
  height: 100px;
  background: white;
  position: absolute;
  top: 300px;
  left: 420px;
  background: white;
  color: chocolate;
}  

.imagestaff1 {
  height: 100%;
  width: 100%;
  position:absolute;
  top:0;
  left:0;
  background-image: url('LIEN');
  background-size: contain;
  -webkit-transition: all 1s linear;
  transition: all 1s linear;
}  

.staff1:hover > .imagestaff1 {
  filter:alpha(opacity=0);
  opacity:0;
  visibility:hidden;
}

.staff2 {
  width: 100px;
  height: 100px;
  background: white;
  position: absolute;
  top: 410px;
  left: 420px;
  background: white;
  color: chocolate;
}    


.imagestaff2 {
  height: 100%;
  width: 100%;
  position:absolute;
  top:0;
  left:0;
  background-image: url('LIEN');
  background-size: contain;
  -webkit-transition: all 1s linear;
  transition: all 1s linear;
}  

.staff2:hover > .imagestaff2 {
  opacity:0;
  filter:alpha(opacity=0);
  visibility:hidden;
}

.staff3{
  width: 100px;
  height: 100px;
  background: white;
  position: absolute;
  top: 520px;
  left: 420px;
  background: white;
  color: chocolate;
}

.imagestaff3 {
  height: 100%;
  width: 100%;
  position:absolute;
  top:0;
  left:0;
  background-image: url('LIEN');
  background-size: contain;
  -webkit-transition: all 1s linear;
  transition: all 1s linear;
}  

.staff3:hover > .imagestaff3 {
  opacity:0;
  filter:alpha(opacity=0);
  visibility:hidden;
}

.blocliens{
  width: 550px;
  height: 36px;
  position: absolute;
  top: 650px;
  vertical-align: middle;
}  

.lien1{
  width: 109px;
  height: 35px;
  background: #fb6920;
  color: white !important;
  display: inline-block ;
  position: relative;
  top: 0px;
  float:left;
  text-align:center;
  line-height:30px;
}

.lien1:hover{
  width: 109px;
  height: 35px;
  background: #b92b2a;
  color: white;
  display: inline-block ;
  position: relative;
  top: 0px;
  float:left;
  text-align:center;
  line-height:30px;
}

.lien2{
  width: 111px;
  height: 35px;
  background: gold;
  color: white;
  display: inline-block ;
  position: relative;
  top: 0px;
  float: left;
  text-align:center;
  line-height:30px;
}

.lien2:hover{
  width: 111px;
  height: 35px;
  background: #b92b2a;
  color: white;
  display: inline-block ;
  position: relative;
  top: 0px;
  float: left;
  text-align:center;
  line-height:30px;
}

.blocinfo{
  width: 400px;
  background: white;
  position: absolute;
  top: 710px;
  overflow: auto;
  margin-left: 50px;
  font-size: 15px;
  padding: 15px;
  text-align:justify;
  color: chocolate;
  border-radius: 20px;
}

.boutonphrase {
  color : #fb6920;
  font-size: 20px;
  font-family: 'Indie Flower';
  text-shadow: 2px 2px 0px white, -1px -1px 0px white;
  width: 190px;
  margin: auto;
}    

.bouton {
  width: 100px;
  margin: auto;
  margin-top: -17px;
}    

.crédit {
  font-size: 10px;
  position: absolute;
  top: 875px;
  margin-left: 200Px;
  color: grey;
}
</style>
      <link type="text/css" rel="stylesheet" href="https://fonts.googleapis.com/css?family=Indie+Flower" >
    </head>       
    <body>                 
<div class="page">
                                                              
 <div class="titre">
                               Si tu devais partir en voyage, où irais-tu?                                
 </div>
                                                            
 <div class="contexte">
                               LE CONTEXTE BLABLABLA, ces balises -> <br /> <br /> Correspondent à un saut de ligne si vous souhaitez les utiliser. A la suite un petit lien vers le contexte en entier, vous pouvez le retirer: <a target="_blank" href="LIENde_la_suite_de_votre_contexte"><span style="color: rgb(185, 43, 42);">La suite...</span></a>                            
 </div>
                                                        
 <div class="staff1">
        
 <div style="height: 100px;  display:table-cell; vertical-align: middle; font-family: 'Indie Flower' ; text-align: center; width : 100px;">
          NOM STAFF      
 </div>
                  
 <div class="imagestaff1">
                    
 </div>
                                                        
 </div>
                                                        
 <div class="staff2">
        
 <div style="height: 100px;  display:table-cell; vertical-align: middle; font-family: 'Indie Flower' ; text-align: center; width : 100px;">
         NOM STAFF          
 </div>
                    
 <div class="imagestaff2">
                      
 </div>
                                                        
 </div>
                                                        
 <div class="staff3">
      
 <div style="height: 100px;  display:table-cell; vertical-align: middle; font-family: 'Indie Flower' ; text-align: center; width : 100px;">
        NOM STAFF    
 </div>
                    
 <div class="imagestaff3">
                    
 </div>
                                                        
 </div>
                                                        
 <div class="blocliens">
                                          
 <div class="lien1">
       <a href="LIEN" target="_blank">                  Règlement </a>                          
 </div>
                            
 <div class="lien2">
       <a href="LIEN" target="_blank">                      Base de données </a>                        
 </div>
                    
 <div class="lien1">
       <a href="LIEN" target="_blank">                     Fruits du démon </a>                          
 </div>
                              
 <div class="lien2">
       <a href="LIEN" target="_blank">                      Questions  </a>                          
 </div>
                          
 <div class="lien1">
       <a href="LIEN" target="_blank">                    Staff  </a>                    
 </div>
                                            
 </div>
                                              
 <div class="blocinfo">
                           Date d'ouverture: <br /> Membres enregistrés: <br />Nombre de messages postés : <br />  <br />                
 <div class="boutonphrase">
                 Venez nous rejoindre !                  
 </div><br />                  
 <div class="bouton">
                  <a title="OnePieceRefresh" href="LIEN_Forum"><img src="Image_bouton_partenariat" alt="logo partenaire" /></a>                  
 </div>
                                        
 </div>
                                    
 <div class="crédit">
                              @Youp sur <a target="_blank" href="http://www.never-utopia.com/"> <span style="color: rgb(185, 43, 42);">Never Utopia</span> </a>                              
 </div>
                                                                                
</div>
</body>
</html>


Ensuite, à chaque fois que vous voulez modifier votre code, vous devrez utiliser le mode avancé, soit l'engrenage sur lequel il est écrit "html". Sinon, cela va cause des bugs.

Code:
.page{
  width: 550px;
  height: 900px;
  background: lightblue;
 background-image: url('LIEN');
 background-repeat: no-repeat;
}

N'oubliez pas de remplacer le LIEN par un... roulement de tambour... Lien ! Razz Ce lien correspond à l'image en haut de la fiche, l'image ici fait 550 de largeur (width) et 275 de hauteur (height). Si vous désirez changer les proportions, il vous faudra changer certains placements comme celui du titre par exemple (modifier simplement la valeur top ).

Modifier aussi le lien des images de imagestaff1, 2 et 3 ainsi que le nom qui s'affiche en dessous (j'ai noté NOM STAFF). Les images font 100x100px.

Code:
<link type="text/css" rel="stylesheet" href="https://fonts.googleapis.com/css?family=Indie+Flower" />            

Correspond à la police google font que l'on utilise pour certaines parties de la fiche, vous pouvez la remplacer par une autre si vous le souhaitez bien sûr. Ajouter juste à la suite le code similaire que vous donne google font.

N'oubliez pas de modifier aussi tout les LIEN (donc pour la navigation rapide, ex règlement, staff etc..., sur le bouton de partenariat aussi), et l'image du bouton de partenariat.



Utiliser dans un message: mettre une iframe :

Hop hop, maintenant pour l'utiliser, il suffit d'utiliser une iframe sous cette forme:
Code:
<iframe src="Le_lien_de_ta_page_html" frameborder="0" scrolling="no" style="margin:auto; width: 550px; height: 900px;"></iframe>

Modifier les valeurs de hauteur et de largeur si vous avez modifier celle-ci sur votre page html. Enlever la première div si vous ne voulez pas que la fiche soit centrée.

Voili voilou, j'espère que le rendu vous plaît et si vous avez un problème avec la modification du code, n'hésitez pas à passer dans "personnalisations" ou "problème avec mon code". N'enlevez pas le crédit bien sûr (surtout celui qui amène vers N-U, mais sur ce point je vous fait confiance ^^

Invité

Fiche officielle Démons - Sam 26 Déc 2015 - 19:02

{#}html{/#} {#}css{/#} {#}message_officiel{/#} {#}auteur_Shaneliae{/#}

Fiche officielle Démons



Bonjour et bienvenue pour ce nouveau LS !

Aujourd'hui je vous propose un petit LS type "fiche officielle" pour ayant un thème démoniaque et sombre tout en noir et rouge. La fiche en elle-même est très simple, il n'y a pas d'effets de transition ou autre. L'image d'en tête a été modifié par moi-même et toutes les autres images ont été réalisé par moi-même. Il y a différents niveaux de titre, le titre 1 étant le titre "général" de la fiche, et les titres 2 et 3 les sous-titres et sous-sous-titres.

problème avec mon code est là pour ça. Si vous me posez une question ici je risque de ne pas vous répondre !


Revenir en haut

La date/heure actuelle est Sam 11 Mai 2024 - 14:59