Mise en page de la page principale

Activez vos liens

[CONF] Méthode 1

Niveau de difficulté: Débutant.

Ce que vous allez apprendre sur les variables $conf dans cette astuce devrait être utilisé comme principe à chaque fois que vous aurez une $conf à modifier. Vous pouvez vous inspirer du contenu de /include/config_default.inc.php mais ne modifiez jamais directement ce fichier.

Vous allez créer ou modifier le fichier /include/config_local.inc.php.

Intérêt: Depuis la version 1.5.0 de PWG, vos changements ne seront plus perdus à chaque changement de version.

Principe: Le default contient toutes les variables. Le local ne contient que celles que vous avez voulu modifier. Le default est sollicité en premier, et s'il existe, le local applique les changements spécifiques à votre site.

Prenons le cas de nos liens, par default aucun lien n'existe.
En modifiant la variable (de type tableau) $conf['links'] et ceci au niveau du local, vous allez une fois pour toutes définir les liens spécifiques à votre site.

A quoi va ressembler le fichier /include/config_local.inc.php: tout simplement à n'importe quel module php, c'est à dire qu'il commence par «<?php » et se termine par « ?>». Entre ces deux marqueurs, et en respectant la même syntaxe que dans le default, c'est à dire la syntaxe du langage php, vous altèrerez les différentes valeurs du tableau $conf quelles qu'elles soient. Vous éviterez de reporter toutes les définitions de default ceci afin de faciliter le repérage des éventuelles différences.

Prenons donc exemple sur nos liens:
(Notez au passage) : un exemple du fichier local est fourni dans le répertoire /tools/ mais attention les paramètres proposés peuvent ne pas convenir à votre site, ce qui est en général le cas.

Donc pour nos liens, vous allez créer ou compléter le fichier /include/config_local.inc.php afin qu'il ressemble à ceci:

<?php
// links : liste des liens externes
 $conf['links'] = array(
   'http://phpwebgallery.net' => 'L\'homepage PWG',
   'http://forum.phpwebgallery.net' => 'Son forum',
   'http://phpwebgallery.net/doc' => 'Sa documentation'
   );
?>

Explications: $conf est un tableau indicé par des noms de paramètres prédéfinis connus de PWG et dans le cas présent, il s'agit de 'links'.
Pour notre exemple, vous ajouterez autant de lignes que de liens souhaités, en précisant: à gauche l'URL et à droite le nom du lien.
Si vous avez besoin d'une apostrophe simple (quote en programmation), pensez à la faire précéder d'une barre oblique inversée “\” (anti-slash en programmation).

Vous venez de mettre en place :

  • un lien vers “L'homepage PWG”,
  • un autre vers “Son forum”,
  • et enfin, un vers “Sa documentation”.

Rappel: ne jamais effectuer de modification dans config_default.inc.php mais uniquement en local.

Toutes les cellules du tableau $conf peuvent contenir des valeurs selon les principes du langage PhP. C'est à dire:

  1. des valeurs ( de type booléen, numérique, chaîne de caractère, etc.),
  2. des tableaux de valeurs,
  3. des tableaux de tableaux de valeurs, …

Toute cellule de $conf référencée dans config_default.inc.php peut être ajustée au besoin de votre site dans config_local.inc.php.

Si vous ajustez plusieurs fois un des paramètres de $conf, seule la dernière valeur attribuée comptera.

Et pour finir, un exemple à ne pas suivre:

<?php
 $conf['links'] = array(
   'http://phpwebgallery.net' => 'PWG website',
   'http://forum.phpwebgallery.net' => 'PWG forum',
   'http://phpwebgallery.net/doc' => 'PWG wiki'
   );
 $conf['links'] = array(); // Annule la mise à jour précédente
?>

8-)

[CONF] Méthode 2

Niveau de difficulté: Avancé PhP.

Impératif: Avoir compris la 1ère méthode

<?php
 $conf['links'] = array(
     'http://phpwebgallery.net' => array(
       'label' => 'PWG website',
       'new_window' => true, 
       'nw_name' => 'PopUp', 
       'nw_features' =>
         'width=800,height=450,location=no,status=no,toolbar=no,scrollbars=no,menubar=no',
       'eval_visible' => 'return $user[\'is_the_guest\'];' ),
   'http://forum.phpwebgallery.net' => 'PWG forum',
   'http://phpwebgallery.net/doc' => 'PWG wiki'
   );
?>

Explications des paramètres du second niveau:

  • 'label': l'étiquette à afficher dans le menu pour ce lien, obligatoire
  • 'new_window': ouverture d'une nouvelle fenêtre ou un onglet, [true, par défaut]
  • 'nw_name': Nom de la fenêtre (si 'new_window' ⇒ true)
  • 'nw_features': options complémentaires (si 'new_window' ⇒ true)
  • 'eval_visible': lien à afficher (return d'une expression php, par defaut: return true)

Conseil: Faites valider votre 'Links' par un spécialiste php sur notre forum.
8-)

[MOD] Ajoutez un édito

L'édito est plus qu'obsolète en 1.7. En effet, cette release nous a apporté les plugins. Certains membres ont enrichi la galerie de très nombreuses fonctionnalités, relègant ainsi l'édito à une période préhistorique.

L'ajout d'un édito se fait en 5 temps :

  • création d'un fichier contenant le texte de l'édito dans toutes les langues;
  • modification du template de l'index;
  • modification des styles de l'index;
  • modification des styles des différents thèmes;
  • modification de index.php.

N'oubliez pas de bien faire des sauvegardes avant toute modification !

Création d'un fichier contenant le texte de l'édito dans toutes les langues

Le texte de l'édito est contenu dans un fichier HTML edito.html. Vous devez en créer autant que de langues utilisées dans votre site dans les répertoires de langues.

Exemple en français, créer un fichier edito.html dans le sous-répertoire language\fr_FR.iso-8859-1 :

Salut à tous et bienvenue sur la gallerie !
 
Si vous voulez la même utilisez <a href="http://phpwebgallery.net">PHP Web Gallery</a> !

Et en anglais, créer un fichier edito.html dans le sous-répertoire language\en_UK.iso-8859-1 :

Hi everyone and welcome to the gallery!
 
If you want the same, use <a href="http://phpwebgallery.net">PHP Web Gallery</a>!

Modification du template de l'index

Ensuite, il faut ajouter l'emplacement de l'édito dans le template. Pour cela, il faut éditer le fichier template\yoga\index.tpl de :

<!-- $Id: index.tpl 1900 2007-03-12 22:33:53Z rub $ -->
{MENUBAR}
<div id="content">
  <div class="titrePage">
    <ul class="categoryActions">
...

en

<!-- $Id: index.tpl 1900 2007-03-12 22:33:53Z rub $ -->
{MENUBAR}
<!-- BEGIN edito -->
<div id="edito">
  <div>
    <h2>Edito</h2>
	{EDITO_CONTENT}
  </div>
</div>
<!-- END edito -->
<div id="content">
  <div class="titrePage">
    <ul class="categoryActions">
...

Modification des styles de l'index

Pour continuer, il faut appliquer le côté graphique de votre gallerie à cet édito. Pour commencer, éditer le fichier template\yoga\content.css de :

/* $Id: content.css 1900 2007-03-12 22:33:53Z rub $ */
#content {
    margin-right: 1em;
    margin-bottom: 1em; /* when it's longer than menu bar */
}
 
BODY#theCommentsPage #content,
...

en :

/* $Id: content.css 1900 2007-03-12 22:33:53Z rub $ */
#content, #edito {
    margin-right: 1em;
    margin-bottom: 1em; /* when it's longer than menu bar */
}
 
BODY#theCommentsPage #content,
...

et ajouter à la fin :

.Edito {
  text-align: left;
  padding: 5px;
}

Ensuite, éditer, ou créer si besoin, le fichier template-common\local-layout.css et ajouter :

#edito {
  margin-left: 20em;	/* = #menubar width + 2em */
}

Modification des styles des différents thèmes

Pour en finir avec les autres thèmes :

* éditer le fichier theme\dark\theme.css et changer :

#menubar DL, #content, #imageToolBar, .header_notes, .content {
  background-color: #5f5f5f;
}

en :

#menubar DL, #content, #imageToolBar, .header_notes, .content, #edito {
  background-color: #5f5f5f;
}

* éditer le fichier theme\clear\theme.css et changer :

#menubar DL, #content, #imageToolBar, .header_notes, .content {
  background-color: #eeeeee;
}

en :

#menubar DL, #content, #imageToolBar, .header_notes, .content, #edito {
  background-color: #eeeeee;
}

* éditer le fichier theme\p0w0\theme.css et changer :

/******************************************************************************/
/* Backgrounds Only */
BODY { background: #cde; }
.header_notes,
#thePicturePage #the_page,
#thePicturePage #theImage,
#theAdminPage #the_page,
#content, DIV.content { background-color: #dfe8ff; }

en :

/******************************************************************************/
/* Backgrounds Only */
BODY { background: #cde; }
.header_notes,
#thePicturePage #the_page,
#thePicturePage #theImage,
#theAdminPage #the_page,
#content, DIV.content, #edito { background-color: #dfe8ff; }

* éditer le fichier theme\wipi\theme.css et changer :

#content, .content {
  background-color: #181818;
  border: 1px solid #eee;
  padding: 5px;
}

en :

#content, .content, #edito {
  background-color: #181818;
  border: 1px solid #eee;
  padding: 5px;
}

TODO: les thèmes non standards…

Modification de index.php

Il ne reste alors plus qu'à ajouter la partie édito dans le fichier index.php avant la ligne :

//------------------------------------------------------- category informations

la partie suivante :

//-------------------------------------------------------- Edito
if (('categories' == $page['section']) and !(isset($page['category']))) {
	$template->assign_block_vars('edito',array());
	$template->set_filenames(
		array(
			'edito_content' => get_language_filepath('edito.html')
		)
	);
 
	$template->assign_var_from_handle('EDITO_CONTENT', 'edito_content');
}
 
//------------------------------------------------------- category informations

[PLUGIN] Gommer le compteur de catégorie

Niveau de difficulté: Avancé.

Aujourd'hui, la catégorie Europe de la galerie de démonstration s'affiche à la fois dans le menu de gauche et au-dessus des miniatures de la façon suivante: Europe [200]

Pour “alléger” un peu la galerie, nous pouvons supprimer ce compteur (déjà présent dans le menu) dans l'affichage au-dessus des miniatures.

Dans Faire son plugin personnel, vous ajouterez:

add_event_handler('loc_end_index', 'personal_cat_counter_removal', 10 );
function personal_cat_counter_removal()
{ // Remove image category counter above content only
  global $template;
  $s = $template->get_var('TITLE');
  $p_end = strpos($s, ' [');
  $p_end = ( $p_end == 0 ) ? strlen($s) : $p_end;
  $template->assign_vars(
    array(
      'TITLE' => substr($s, 0, $p_end)
      )
    );
}

Au-dessus des miniatures, il ne restera plus que: Europe

Retour à la personnalisation en 1.7

 
Haut de page
ancien/pwg1.7/personnalisation/index.txt · Dernière modification: 2009/12/22 22:17 (modification externe)
 
 
github twitter newsletter Faire un don Piwigo.org © 2002-2023 · Contact