Pages: 1
bonjour,
voilà j'ai modifier le plugin my_PhpWebHeader afin d'afficher un header different quand j'utilise le diaporama.
Je detecte cette page dans le fichier main.inc.php par l'intermediaire du code ci dessous.
if (($_SERVER[PHP_SELF]!="/Alpes/picture.php") ) et fait appel a un fichier my_phpwebheader.tpl
Mon probleme est que j'aimerais tester le nom de la categorie de base en cours afin de faire appel un fichier tpl different. Ce fichier tpl me permettra d'AFFICHER une image differente pour chaque categorie de base. les sous categories auront la meme banniere que la categorie de base.
idées infructeuses
tester $categories
cordialement
Dernière modification par evasions-ddt (2008-09-03 15:48:27)
Hors ligne
Vivement Piwigo...
Hors ligne
bonsoir,
donc si je comprends bien, cette fonctionnalité sera dans piwigo
cordialement
Hors ligne
bonjour,
Voilà, j'ai trouvé la solution. Cette solution pourrait faire l'objet d'un nouveau plugin, je m'explique.
j'ai modifié le fichier main.inc.php de maniere à detecter la category selectionné
La fonction set_PhpWebHeader_css a été modifier pour initialiser une varible en fonction de la categorie.
Cette variable est utilisée par la fonction function set_PhpWebHeader_header pour definir le bon fichier "tpl".
Par consequent il peut y avoir un fichier tpl specifique pour chaque category.
J'utilise un switch case default pour traiter la category selectionné. le default du switch me permet de faire appél à un "tpl" par default.
Je termine le plugin, cela serait il interessant de le mettre en ligne ??
Cordialement
Hors ligne
evasions-ddt a écrit:
Je termine le plugin, cela serait il interessant de le mettre en ligne ??
Oui bien sur :)
Hors ligne
Un membre du forum italien voudrait faire la même chose.
Quelqu'un l'aurait implémenté?
Merci d'avance
:-))
Hors ligne
rio a écrit:
Un membre du forum italien voudrait faire la même chose.
Quelqu'un l'aurait implémenté?
Merci d'avance
:-))
Je n'ai pas envoyer le plugin mais je vais dés demain faire un descriptif de ce qu'il faut faire et le mettre en ligne.
Une petite demo : http://evasionsddt.free.fr/Ania_David/i … ategory/33
cordialement
Hors ligne
Merci!
:-))
Hors ligne
up ....
Hors ligne
Haseo a écrit:
up ;)
voilà...
donc j ai fait un petit descriptif, tout est basé sur le plugin my_phpwebheader
J'aurrais voulu mettre les fichiers en pieces jointes. Si cela interesse vraiment, je pourrais mettre le plugin modifié en ligne.
1)° modification de la fonction : function set_PhpWebHeader_css()
function set_PhpWebHeader_css()
{
global $template, $page,$var_category;
/* Le test sert a detecter si la page est differente de la page "mode diaporama"
En mode "diaporama" je ne souhaite pas afficher de bannière
si vous le souhaitez, ajouter un else
*/
if (($_SERVER[PHP_SELF]!="/Ania_David/picture.php") ) // ici l’url du mode diaporama
{// This Plugin works only on the Admin page
$template->assign_block_vars(
'head_element',
array(
'CONTENT' => '<link rel="stylesheet" type="text/css" ' .
'href="'.PHPWG_PLUGINS_PATH.'/my_phpwebheader/my_phpwebheader.css">'
)
);
// C EST ICI que vous allez tester vos catégories.
// teste le nom de la catégorie sélectionné, autrement dit le nom des répertoires de stockage des photos
switch($page['category']['name'] )
{
case 'Tunisie' :
case 'Hammamet' :
case 'Carthage' :
case 'Sidi Bou Said' :
case 'Kairouan' :
case 'Hammamet' :
case 'club salammbo' :
case 'Cap Bon' :
case 'Sidi-Bou-Said' :
$var_category='_tunisie' ; // si categorie Tunisie, hammamet.... initialisation de la variable $var_category avec category. Cette variable servira a definir le nom du fichier tpl a appeler.
break;
case 'Mariage de Magda et Michal' :
$var_category='_Mariage_de_Magda_et_Michal' ;
break;
case 'Mariage de Joanna et Cyril' :
$var_category='_Mariage_de_Joanna_et_Cyril' ;
break;
case 'week end en Normandie':
case 'photos de Joanna et Cyril':
$var_category='_normandie';
break;
default:
// Si une category n'est pas tester faire appel a une bannière (fichier tpl) par default donc à un tpl par default
$var_category='' ;
break;
}
// appel de la fonction de selection du fichier tpl
add_event_handler('loc_after_page_header', 'set_PhpWebHeader_header' );
}
}
2)° modification de la fonction set_PhpWebHeader_header()
// Build our header title
function set_PhpWebHeader_header()
{
global $user, $template,$var_category;
// Setup Language
$my_lang = ( isset($user['language']) ) ?
$user['language'] : 'en_UK.iso-8859-1';
$my_path = dirname(__FILE__).'/';
// le nom du fichier tpl est construit en fonction de la variable $var_category
// test l existance
if ( file_exists($my_path."$my_lang/my_phpwebheader".$var_category.".tpl") )
{
$my_path .= $my_lang.'/';
}
else
{
$my_path .= 'en_UK.iso-8859-1/';
}
// Include language advices
// appel du fichier
$template->set_filenames(array(
'PhpWebHeader' => $my_path.'my_phpwebheader'.$var_category.'.tpl')
);
$template->parse('PhpWebHeader');
}
3°) fichier tpl exemple
Dans le fichier main.inc.php ci dessus, si la catégorie tunisie, hammamet... est sélectionné, la variable $var_category.tpl est définit avec la valeur _’tunisie’ donc le fichier appelé est my_phpwebheader_tunisie.tpl
Le fichier my_phpwebheader_tunisie.tpl doit exister dans le repertoire fr_FR.iso-8859-1
Tout simple pour ma version, un titre est une photo stockée dans le même répertoire
div >
<table width="1000" height="200" border="0" cellpadding="0" cellspacing="0">
<tr >
<td background="../Ania_David/plugins/my_phpwebheader/fr_FR.iso-8859-1/Desert_sous_la_lune.jpg" style="background-repeat:no-repeat" style="background-position:center">
<blockquote><h1 style="color: #FFFFFF" style="text-align:left" style="t">
<h1 align="left">Nos vacances à Hammamet</h1>
<p align="center">Ania et David</p>
</td>
</tr>
</table>
<div class="clear">
</div>
</div>
<!-- pwgHeader -->
Hors ligne
Haseo a écrit:
Merci!
Pas de soucis, j ai fait une demande pour mettre en ligne un plugin avec tous les fichiers modifié et commentés.
Hors ligne
Pages: 1