### Administration - Editer/Créer bloc

NPDS, permet l'affichage d'un bloc (ou de plusieurs) sur les pages.
NPDS (avec un thème approprié) permet d'afficher ces blocs sur quasiment toutes les pages.

Un Bloc peut-être réservé aux administrateurs, aux membres, à N groupes de membres, réservé aux Anonymes ou être visible par Tous.

#### Modifier un bloc

Changez les informations nécessaires dans le bloc et sélectionnez l'action souhaitée, pour finir cliquez sur le bouton OK.
Vous ne pouvez modifier qu'un seul bloc à la fois.

#### Supprimer un bloc

Sélectionnez le bloc et choisissez l'action Effacer un bloc , pour finir cliquez sur le bouton OK.
Vous ne pouvez supprimer qu'un seul bloc à la fois.

#### Créer un bloc (de gauche ou de droite)

Saisissez le titre du bloc, son index (ce qui va permettre un affichage trié ainsi que son contenu et cliquez sur le bouton Créer un bloc ....
Par défaut le bloc nouvellement créé est actif.

#### Bloc et SuperCache

- les blocs sont "SuperCachables" et peuvent-être activés ou désactivés sans toucher aux fichiers du thémes.
  Un bloc avec un temps de cache de 0 (zéro) ne sera pas caché.
- disposent aussi d'une aide en ligne qui peut-être utilisée via le module 'aide-contextuelle' ou dans le cadre d'un développement PHP (laisser cette zone vide sinon).

#### NPDS dispose d'un système de blocs étendu capable d'afficher ou d'éxécuter beaucoup de chose :

- HTML (pour un bloc supportant l'HTML, sélectionner l'option HTML lors de sa création)
- Javascript
- Code PHP et/ou SSI (Serveur Side Include)
- Fonction PHP et/ou de NPDS

La seule possibilité d'inclure du code est de respecter la syntaxe suivante :

- Pour du code PHP et/ou SSI :
  - include#votre_repertoire/votre_fichier.php (sans ', sans ").
  - Ce fichier doit être du php et le retour doit obligatoirement se faire dans $content.
- Pour des fonctions PHP et/ou des fonctions de NPDS :
  - function#votre_fonction => function#Xblock (sans ', sans ", sans () et sans ;).
  - Si votre fonction dispose de paramètres :
    - function#votre_fonction => function#XNews (sans ', sans ", sans () et sans ;).
    - params#votre_param => params#5,10,false (sans ', sans " mais séparés par des virgules).
      par exemple :
      - function#category
      - function#oldNews
      - params#$storynum
      - function#RecentForumPosts
      - params#Forums Infos,15,0,false,10,false,-:
  - Vous pouvez aussi mettre les 2 phases :
    - include#votre_repertoire/votre_fichier.php (sans ', sans ").
    - function#votre_fonction => function#XNews (sans ', sans ", sans () et sans ;).
    - params#votre_param => params#5,10,false (sans ', sans " mais séparés par des virgules).
      Ce qui vous permet de charger un code et de l'éxécuter !

#### Bloc CSS

class-title#nom d'une classe dans votre fichier CSS.
class-content#nom d'une classe dans votre fichier CSS.
Ces lignes permettent d'associer pour CHAQUE BLOC une CSS (titre et contenu) !

- Theme-Dynamic dispose de deux nouveaux meta-mots : B_class_title et B_class_content qui peuvent être utilisés dans le code de bloc.html
- Les thèmes PHP disposent de deux nouvelles variables : $B_class_title et $B_class_content qui peuvent être 'importées' dans la fonction themesidebox (via un global ...)

#### Bloc CSS spécifique

Pour avoir la css specifique, il faut :

- cocher la case dans l'administration
- noter l'id du bloc
- declarer les id et class dans le fichier style.css ou bien ajouter une css via le gestionnaire (pages.php de votre theme)

Exemple css sur un bloc en particulier, ici le bloc gauche ID 2 : ``

#LB_2 .LB_title {
color: #FF0000;
font-family: Georgia, "Times New Roman", serif;
font-size: 1.25em;
font-weight: bold;
height: 21px;
text-align: center;
line-height: 21px;
}
#LB_2 .LB_contain ul {
list-style: none;
width: 150px;
margin:0px;
padding:0px;
}
#LB_2 .LB_contain li {
margin:0;
padding:0;
}
#LB_2 .LB_contain li a {
min-height: 1.5em;
height: auto !important;
height: 1.5em;
line-height: 1.5em;
margin: 1px 0px 1px 0px;
padding: 0px 5px 0px 5px;
border-bottom: solid 1px #C8C8C8;
border-left: solid 10px #427FBC;
color: #646464;
text-decoration: none;
font-weight: normal;
font-size: 1em;
}
#LB_2 .LB_contain li a:hover {
border-left: solid 10px #cccccc;
background: #f0f0f0;
font-weight: bold;
color: #000000;
text-decoration: none;
}

#### Bloc URI

uri#uris_séparées_par_un_espace pour n'afficher le bloc que sur les URI citées.
Le temps de rétention doit-être égal à zéro dans ce cas.
Exemple : uri#index.php user.php forum.php static.php?op=statik.txt&npds=1
Le tag uri# permet l'utilisation du joker * : par exemple : viewforum.php?forum=* ou viewtopic.php?topic=*&forum=10
Cette syntaxe est la seule supportée !

#### Bloc Caché

hidden#... pour ne pas afficher le thème des blocs mais charger le contenu.
Cela permet d'utiliser le système de bloc pour 'charger' des javascripts, des fichiers PHP, des fichiers CSS...
Cette syntaxe est la seule supportée !

NPDS - Manuel administration