logo

NPDS : Gestion de contenu et de communauté


Content & Community Management System (CCMS) robuste, sécurisé, complet, performant, parlant vraiment français, libre (Open-Source) et gratuit.
14 visiteur(s) et 0 membre(s) en ligne.
Activité du Site

Pages vues depuis 25/05/2001 : 109 363 260

  • Nb. de membres 8 695
  • Nb. d'articles 1 695
  • Nb. de forums 26
  • Nb. de sujets 8
  • Nb. de critiques 92

Top 10  Statistiques

Index du forum »»  Thèmes Dynamic »» Faire des blocs differents ...

Faire des blocs differents ...#21141

6Contributeur(s)
bestelcanassonoimfliaigreleloup31GiamDoc
4 Modérateur(s)
developpeurB-MagjpbJireck
bestel bestelicon_post
Salut à tous.

Je voudrais savoir s'il est possible de faire des blocs différents ? (en couleur, texte, contour, ...).

En fait, j'essaye de faire un theme basé sur Permanent-Double-Side, pour lequel je voudrais garder les blocs actuels, et en plus, pour un bloc particulier, ne pas avoir de titre, ni de contour !

Est-ce que c'est possible ??
canasson canassonicon_post
Tout est possible avec la CSS :-P

Dans un premier temps, tu peux déjà te rendre dans les téléchargements et consulter le tuto concernant Permanent Double Side, même s'il n'est plus totalement à jour (mais ça devrait venir. :b ), tu devrais trouver facielemnt l'explication concernant la manip pour les blocs. :=!
bestel bestelicon_post
Salut, merci de ta réponse.

J'ai consulté le tuto, mais je n'ai pas réussi à trouver la solution :paf
(faut dire que je suis pas doué non plus en css, ni en prog en général !)

Je voudrais en fait faire des blocs sans titre, ni contour, pour y inclure le mini calendrier d'Event-cal.

J'ai mis dans ma css :


div.blocinv_title1{
        background: !url(!'../images/blanc.gif') center bottom no-repeat;
        color: #FFFFFF;
        font-size: 0px;
        height: 0px;
        text-align: center;
        line-height: 0px;

}
div.blocinv_cont1 {
        background: !url(!'../images/blanc.gif') center no-repeat;
        text-align: left;
}
div.blocinv_cont1b {
        margin-left: 0px;
        width: 0px;
        padding-top: 0px;
        padding-bottom: 0px;
}
div.blocinv_cont2 {
        height: 0px;
        padding: 0 0px 0 0px;
}



Et dans mon bloc, j'ai fait differents essais ...


class-title#div.blocinv
class-content#div.blocinv
!include!#modules/event-call/block_event_cal.php




class-title#div.blocinv_title1
class-content#div.blocinv_cont1b
!include!#modules/event-call/block_event_cal.php



Mais rien ne marche
:D

Quelqu'un peut m'aider ?




ps : les ! autour des !include!s se sont ajoutés tout seuls à la publication de ce post, ils ne sont pas dans mon bloc !
oim oimicon_post
Slt, essaye avec un autre module qu'event-call parce que suivant le config que tu as mis il a sa css je crois !
bestel bestelicon_post
Salut.

J'ai essayé de simplement faire afficher du texte, mais ça veut tjs pas le faire :paf
fliaigre fliaigreicon_post
J'ai essayé aussi, ça ne fonctionne pas.
class_title#maclasse s'affiche en lettre dans le bloc et c'est tout.
Dans bloc.html j'ai bien indiqué !B_title!
Y a t'il une syntaxe particulière qui m'aurait échappée?
leloup31 leloup31icon_post
. Les blocs (et donc l'administration des blocs) supportent deux nouveaux appels pour l'utilisation de CSS
- class-title#nom_de_la_classe de la CSS pour le titre du bloc
- class-content#nom_de_la_classe de la CSS pour le corps du bloc
Les entrées doivent être présentent dans le fichier CSS de votre Thème
Ceci permet d'avoir une charte graphique PAR bloc

fliaigre fliaigreicon_post
C'est bien ce que j'ai compris Leloup31, mais çà ne fonctionne pas.
Précisions : C'est class-title ou class_title?
leloup31 leloup31icon_post
D'aprés la doc c'est class-title

http://www.npds.org/static.php?op=P1-npds5.0.txt
fliaigre fliaigreicon_post
Oui, mais ici : http://www.npds.org/ftp/docs/Tutorial-Theme-Dynamic.pdf

C'est class_title.

class-title, ne s'affiche pas en texte donc il y a peut-être une erreur dans le pdf, mais il n'y a pas de modif du bloc. :paf

Il n'y a pas un thème pour voir un exemple?
GiamDoc GiamDocicon_post
d'aprés le code du mainfile c'est :

     // For including CLASS AND URI in Block
      global $B_class_title, $B_class_content;
      $B_class_title=""; $B_class_content=""; $R_uri="";
      if (stristr($content,"class-") or stristr($content,"uri")) {
         $tmp=explode("\n",$content);
         $content="";
         while(list($id,$class)=each($tmp)) {
            $temp=explode("#",$class);
            if ($temp[0]=="class-title") {
               $B_class_title=str_replace("\r","",$temp[1]);
            } else if ($temp[0]=="class-content") {
               $B_class_content=str_replace("\r","",$temp[1]);
            } else if ($temp[0]=="uri") {
               $R_uri=str_replace("\r","",$temp[1]);
            } else {
               if ($content!="") {$content.="\n ";}
               $content.=str_replace("\r","",$class);
            }
         }
      }

      // For BLOC URIs
      if ($R_uri) {
         global $REQUEST_URI;
         $page_ref=basename($REQUEST_URI);
         $tab_uri=explode(" ",$R_uri);
         $R_content=false;
         $tab_pref=parse_!url(!$page_ref);
         $racine_page=$tab_pref[path];
         $tab_pref=explode("&",$tab_pref[query]);
         while (list(,$RR_uri)=each($tab_uri)) {
            $tab_puri=parse_!url(!$RR_uri);
            $racine_uri=$tab_puri[path];
            if ($racine_page==$racine_uri) {
               $tab_puri=explode("&",$tab_puri[query]);
               while (list($idx,$RRR_uri)=each($tab_puri)) {
                  if (substr($RRR_uri,-1)=="*") {
                     // si le token contient *
                     if (substr($RRR_uri,0,strpos($RRR_uri,"="))==substr($tab_pref[$idx],0,strpos($tab_pref[$idx],"=")))
                        $R_content=true;
                  } else {
                     // sinon
                     if ($RRR_uri!=$tab_pref[$idx]) {
                        $R_content=false;
                     } else {
                        $R_content=true;
                     }
                  }
               }
            }
         }
         if (!$R_content) $content="";
      }

fliaigre fliaigreicon_post
Merci Giam

Pour venir en aide aux boulets comme moi

Ex :

Le bloc



<TABLE width="150" border=0 cellpadding="0" cellspacing="0">
  <TBODY>
    <TR>
      <TD> <TABLE width="100%" height="19" border=0 cellPadding=0 cellSpacing=0>
          <TBODY>
            <TR>
              <TD>
                <TABLE width="100%" height="100%" align="center" cellPadding=  cellSpacing= cellspacing="0" >
                  <TBODY>
                    <TR>
                      <TD class=!B_class_title! width="150" height="20" align="center" valign="middle">
                      <div align="center"><font color="#FE7302"><strong>!B_title!</strong></font></div></TD>
                    </TR>
                  </TBODY>
                </TABLE></TD>
            </TR>
          </TBODY>
        </TABLE>
        <TABLE width=100% border="0" cellpadding="0" cellspacing="3">
          <TBODY>
            <TR vAlign=top>
              <TD class=!B_class_content! valign="top"><font color=#404040 face=Verdana, arial, helvetica, sans-serif size=2 verdana><br>!B_content!</font>
              </TD>
            </TR>
            <TR vAlign=top>
              <TD height="23">&nbsp; </TD>
            </TR>
          </TBODY>
        </TABLE></TD>
    </TR>
  </TBODY>
</TABLE>




La classe dans la feuille de style.



.bloctit1{
    background-color: Fuchsia;
}
.bloccont1{
    background-color: Silver;
}



Dans le bloc en admin



class-title#bloctit1
class-content#bloccont1
function#adminblock



Bien sur c'est un exemple archi simple, mais c'est pour l'exemple.
GiamDoc GiamDocicon_post
on va faire trés simple :

avec le bloc login
normalement il n'y a que cela :


function#loginbox



il faut rajouter cela :


class-title#bloctit1
class-content#bloccont1
function#loginbox



ça fonctionne trés bien
je viens de tester
sur http://tlm.sfd.asso.fr
Login et Éphémérides
GiamDoc GiamDocicon_post
moi mes class sont différents


class-title#ephem
class-content#lang
function#loginbox

canasson canassonicon_post
Petite Précision ;-)

Dans bloc.html il faut bien que tu penses à indiquer ta classe comme précisé dans l'aide !!! Donc ==> class=!B_class_content!
et non class="B_class_content" comme cela semblerait logique. :-P
Ensuite comme te le dit GiamDoc cela fonctionne très bien !
Dans ton bloc juste :
class-title#nom_de_classe
class-content#nom_de_classe
function#loginbox
leloup31 leloup31icon_post
Cool, on va enfin savoir comment se servir de ce truc. :=!
Je sais depuis longtemps que ça existe mais je ne l'avais jamais mis en application (flemme ou manque de temps va savoir?? :-D )

Maintenant par contre ça viens de me donner une idée de théme. Il ne me manque plus qu'a comprendre comment definir dans la class une image plutôt qu'une couleur. :-?
canasson canassonicon_post
Tu peux essayer ça par exemple :

background: !url(!../images/bloc_title.jpeg) :=!

Bien entendu, sans les !

Ensuite au besoin, des indications si elle doit se répéter pour remplir le bloc...
leloup31 leloup31icon_post
Ok j'essaierais ça. ;-)