Cacher l'entête automatiquement en mode «diaporama» Cacher l'entête automatiquement en mode «diaporama»
 

News:

CPG Release 1.6.26
Correct PHP8.2 issues with user and language managers.
Additional fixes for PHP 8.2
Correct PHP8 error with SMF 2.0 bridge.
Correct IPTC supplimental category parsing.
Download and info HERE

Main Menu

Cacher l'entête automatiquement en mode «diaporama»

Started by WebmastAir, August 07, 2008, 09:40:03 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

WebmastAir

Bonjour,

Durant un diaporama ou l'affichage de  photos une par une, je trouve les options en entête inutiles et encombrantes.  Aussi j'ai fait quelques modifications assez simples pour qu'elles se "cachent" automatiquement dans ces 2 modes.

J'utilise le template "Water_drop" mais je pense que ces adaptations peuvent facilement être appliquées aux autres.

Pour avoir une page "épurée" durant ces affichages, voici les quelques modifs (faciles) à faire dans 4 fichiers.

  • Dans "scripts.js" (à la racine de votre galerie), ajouter le code suivant à la fin du fichier:

function obj_ref(object)
{
if (document.getElementById)
{
return document.getElementById(object);
}
else if (document.all)
{
return eval('document.all.' + object);
}
else
{
return false;
}
}

function obj_toggle(object1, cstat)
{
var object1 = obj_ref(object1);
if( !object1.style )
{
return false;
}
if( !cstat )
{
return false;
}

if ( cstat == '0' )
{
object1.style.display = 'none';
return false;
}

if ( cstat == '1' )
{
object1.style.display = '';
return false;
}

if( object1.style.display == 'none' )
{
object1.style.display = '';

}
else
{
object1.style.display = 'none';
}
}



  • Dans displayimage.php, ajouter :
sous le code:
define('IN_COPPERMINE', true);
define('DISPLAYIMAGE_PHP', true);
define('INDEX_PHP', true);

ajouter:
define('HIDE_MENU', true);


  • Dans themes.inc.php:
... dans la fonction [function pagefooter()]:
remplacer le code:
$template_vars = array(
    '{CUSTOM_FOOTER}' => $custom_footer,
    '{VANITY}' => (defined('THEME_IS_XHTML10_TRANSITIONAL') && $CONFIG['vanity_block']) ? theme_vanity() : '',
);

... par le code:
$template_vars = array(
    '{CUSTOM_FOOTER}' => $custom_footer,
    '{HD_MENU}' => (defined('HIDE_MENU')) ? '<script language="JavaScript" type="text/JavaScript">obj_toggle(\'ent_menu1\', \'0\');obj_toggle(\'ent_menu2\', \'0\');</script>' : '',
    '{VANITY}' => (defined('THEME_IS_XHTML10_TRANSITIONAL') && $CONFIG['vanity_block']) ? theme_vanity() : '',
);



  • Dans template.html (dans ce cas-ci, c'est celui de "Water_drop"):
remplacer le code:
<table width="100%" border="0" cellspacing="0" cellpadding="0">
   <tr>
     <td width="100%" align="center">
     <h1>{GAL_NAME}</h1>

... par le code:
<table id="ent_menu1" width="100%" border="0" cellspacing="0" cellpadding="0" style="display: display">
   <tr>
     <td width="100%" align="center">
     <h1>{GAL_NAME}</h1><br />


... ET...

le code:
{ADMIN_MENU}
{GALLERY}

... par le code:
<span id="ent_menu2" style="display: display">{ADMIN_MENU}</span>
{GALLERY}

Pascal YAP

 ;D
Bon, ça c'est une très bonne idée !
Dès que je serai un peu libéré, je ferai ces modifs, si mon Thème le permet, ce qui n'est pas certain du tout  ;)

PYAP

ps ( K+1, mais les KARMAs ne sont plus en fonction actuellement sur notre Forum)


François Keller

#2
juste une petite chose, il ne faut pas modifier le fichier theme.inc.php, mais le fichier theme.php de ton theme. Si la fonction n'y est pas, la copier/coller depuis le fichier theme.php du theme sample et modification. ça permettra des mises à jour simplifiées lors de changement de version
Avez vous lu la DOC ? la FAQ ? et cherché sur le forum avant de poster ?
Did you read the DOC ? the FAQ ? and search the board before posting ?
Mon Blog

WebmastAir

J'ai fait comme tu dis et c'est toutjours parfaitement opérationnel... merci. Je ne comprend pas trop comment ces 2 fonctions au noms identiques peuvent coexister sans poser de problèmes... mais le fait est que ça fonctionne bien ainsi.

Pour parfaire ces fonctions d'affichage, il reste à trouver quelqu'un qui fasse le nécessaire pour faire défiler les photos uniquement grâce au rafraichissement du cadre d'affichage au lieu de toute la page.

François Keller

QuoteJe ne comprend pas trop comment ces 2 fonctions au noms identiques peuvent coexister sans poser de problèmes...
en fait, lorsqu'une fonction est présente dans le fichier theme.php du theme en cours, elle prends le pas sur la fonction de base contenue dans le fichier theme.inc.php ce qui permets une personnalisation aisée
Avez vous lu la DOC ? la FAQ ? et cherché sur le forum avant de poster ?
Did you read the DOC ? the FAQ ? and search the board before posting ?
Mon Blog

WebmastAir

Compris !... et si les deux fonctions comportent chacune des instructions différentes mais complémentaires, sont-elles prises en compte dans les 2 ?

François Keller

non, si la fonction existe dans theme.php celle de theme.inc.php n'est pas prise en compte
Avez vous lu la DOC ? la FAQ ? et cherché sur le forum avant de poster ?
Did you read the DOC ? the FAQ ? and search the board before posting ?
Mon Blog