Ceci est une ancienne révision du document !
Cette page est actuellement non finalisée. Vous ne trouverez donc pas tout son contenu. Nous sommes désolé pour la gène occasionnée.
Raisons :
Pour nous aider à compléter la documentation, consulter cette page (Section “wiki”).
Dans certains cas, il est possible de personnaliser Piwigo par l'intermédiaire de fichiers spécifiques.
Ces fichiers sont à créer. Le contenu de ces fichiers, constituant les personnalisations, viendra compléter ou remplacer le contenu des fichiers originaux de PWG.
Il est très fortement conseillé d'utiliser ces fichiers plutôt que de modifier tout fichier original. Cela pour éviter les erreurs, garder intacte une configuration saine, mettre à jour plus facilement vos galeries en cas de passage à une version supérieure.
Nous vous conseillons d'utiliser le plugin LocalFiles Editor
Rendez vous dans [ Administration » Spéciales » Plugins » LocalFiles Editor ] et visitez les onglets.
./include/config_local.inc.php
: Une variable $conf, si elle doit être modifiée, devra figurer dans ce fichier (lequel respectera la syntaxe du langage php)../language/…./local.lang.php
: Une variable $lang, si elle doit être modifiée, devra figurer dans ce fichier (lequel respectera la syntaxe du langage php)../template-common/local-layout.css
: Toute modification générale de css devra être réalisée dans ce fichier en sachant que le thème pourra annuler celle-ci../template/yoga/local-layout.css
: Toute modification de css propre à ce template (yoga) devra être réalisée dans ce fichier en sachant que ./template-common/local-layout.css
et le thème pourront annuler celle-ci.Vous pouvez personnaliser votre galerie :
Pour trouvez des thèmes visitez la partie extension filtrer style
Une des nouveautés de la version 2.0 c'est la mise en place de template extension. Si vous avez besoin de modifier un template, vous en créez un personnel (avec l'aide de LocalFiles Editor par exemple) et dans l'interface administration de Piwigo vous le désignez comme devant être utilisé à la place de celui d'origine.
Tout est à faire et à réinventer…
Copier toute astuce de la 1.7 qui marche dans cette page.
L'équipe s'occupera de la replacer au bon endroit si nécessaire.
Niveau: super débutant
Dans administration –> Général –> Bannière des pages
ajoutez le code :
<a href="http://monsite.com/" title="C'est mon site" style="border: 0px;"> <img src="/chemin/vers/votre/bannière.png" alt="C'est ma bannière"> </a>
/chemin/vers/votre/bannière.png sera bien entendu conforme à votre besoin.
Niveau: Intermédiaire
Nouveauté : Cette méthode vous permettra d'avoir une bannière différente et adaptée à chacun de vos thèmes par exemple… Ceux qui sont encore en 1.6 peuvent aussi tenter l'expérience
Dans ./template/…/theme/…./themeconf.inc.php et avant le ?>
Vous allez pouvoir ajouter quelque chose comme ceci:
global $conf; $conf['page_banner'] = '<a href="http://http://phpwebgallery.net"' . ' title="La plus innovante des galeries">' . '<img src="http://phpwebgallery.net/graphics/pwg125x100.png" border=0' . ' alt="PhpWebGallery est toujours en avance au rendez-vous de l\'imagination."/></a>';
Et sur un autre thème vous pourrez choisir quelque chose de différent.
Les personnes qui veulent à tout prix placer du php dans leur bannière peuvent simplement compléter la variable $conf['page_banner'] sans la moindre difficulté.
Certains auront la désagréable surprise de voir leur bannière mal intégrée à leur galerie. Pourquoi ? Tout simplement parce que le thème Sylvia (thème par défaut) est prévu pour une bannière de 110px de hauteur maximale. De plus, la fioriture dans l'angle supérieur gauche demanderai à ce qu'une grande bannière soit décalée.
Il est néanmoins possible d'intégrer votre grande bannière comme suit :
Avec localfileseditor, onglet CSS, fichier Yoga/Sylvia/theme.css
/* Mise en page de la bannière pour le thème Sylvia */ #theHeader { min-height:280px !important; height:280px !important; padding-left: 230px; }
280px est un exemple à adapter à votre besoin pour la hauteur. 230px est un exemple à adapter à votre besoin pour le décalage horizontal.
Certains auront besoin de modifier l'affichage qui se situe sous une miniature car le nom de cette dernière est trop long et prend de la place au détriment des informations en dessous.
Vous voyez que à droite l'affiche est correcte tandis qu'à gauche, il manque des informations.
Pour résoudre ce souci, à l'aide de localfileseditor, éditez le fichier template-common / local-layout.css
Ajoutez le code suivant :
/* Set defaults for thumbnails legend ( modifie le nbre de ligne sous les vignettes)*/ #content UL.thumbnails SPAN.thumbLegend { display: block; /* display: none; if you don't want legend */ height: 5em; /* legend height (don't set auto to be Gecko friendly)*/ }
height: 5em; représente en quelque sorte l'espace à adopter. Faites vos propres réglages pour connaître sa valeur.
Il existe une multitude de scripts pour cela, nous vous laissons faire votre propre choix. Nous allons vous expliquer ici comment l'intégrer à Piwigo.
Pour commencer, il faut un plugin : Additionnal Page (Voir Sa page).
<script type="text/javascript"> function setHeight(){ var hauteur; var monFrm = document.getElementById('forum'); if(document.all){ hauteur = monFrm.contentWindow.document.body.scrollHeight + 30; }else{ hauteur = monFrm.contentWindow.document.body.offsetHeight + 30; } monFrm.setAttribute("height", hauteur); } </script> <iframe id="forum" name="Livre d'Or" onload="setHeight()" src="XXX" width="100%" scrolling="no" FRAMEBORDER="no"> </iframe>
Si votre livre d'or contient des règles CSS ou bien s'il en utilise, il vous faudra ajouter le code suivant en l'adaptant à votre script :
<link rel="stylesheet" type="text/css" href="../dossier/lien_vers_votre_fichier.css" />
Veuillez donc adapter ce qui se trouve entre les guillemets de href=
et placer ce code avant celui énoncé juste en dessus.
Voir sur le forum lien.
A l'aide de LocalFiles Editor, ajouter le code suivant :
TABLE.infoTable { display: none; }
Ce code est à placer dans un des fichiers suivant :
Dans l'onglet CSS, fichier template-common/local-layout.css
⇒ Pour les masquer pour tous les templates.
Dans l'onglet CSS, fichier votre_template/local-layout.css
⇒ Pour les masquer pour un template complet (quelque soit le thème).
-Dans l'onglet CSS, fichier votre_template/votre_theme/theme.css
⇒ Pour masquer ces champs uniquement pour un thème particulier.
Note : depuis la version 2.1.0 de Piwigo, pour ne plus voir affiché un champs, il suffit de se rendre sur la page [ Administration » Configuration » Options > Onglet “Affichage” ]
Le but étant de supprimer/modifier/rajouter les champs qui se trouve sous les vues normales des photos.
Nous utiliserons le plugin LocalFiles Editor ainsi qu'un template-extention du nom de my-picture.tpl qui ne sera autre qu'une copie de picture.tpl.
A l'aide de LocalFiles Editor, recherchez dans my-picture.tpl le bloc suivant :
<table id="standard" class="infoTable" summary="{'Some info about this picture'|@translate}"> {if $display_info.author} <tr id="Author"> <td class="label">{'Author'|@translate}</td> <td class="value">{if isset($INFO_AUTHOR)}{$INFO_AUTHOR}{else}{'N/A'|@translate}{/if}</td> </tr> {/if} {if $display_info.created_on} <tr id="datecreate"> <td class="label">{'Created on'|@translate}</td> <td class="value">{if isset($INFO_CREATION_DATE)}{$INFO_CREATION_DATE}{else}{'N/A'|@translate}{/if}</td> </tr> {/if} {if $display_info.posted_on} <tr id="datepost"> <td class="label">{'Posted on'|@translate}</td> <td class="value">{$INFO_POSTED_DATE}</td> </tr> {/if} {if $display_info.dimensions} <tr id="Dimensions"> <td class="label">{'Dimensions'|@translate}</td> <td class="value">{if isset($INFO_DIMENSIONS)}{$INFO_DIMENSIONS}{else}{'N/A'|@translate}{/if}</td> </tr> {/if} {if $display_info.file} <tr id="File"> <td class="label">{'File'|@translate}</td> <td class="value">{$INFO_FILE}</td> </tr> {/if} {if $display_info.filesize} <tr id="Filesize"> <td class="label">{'Filesize'|@translate}</td> <td class="value">{if isset($INFO_FILESIZE)}{$INFO_FILESIZE}{else}{'N/A'|@translate}{/if}</td> </tr> {/if} {if $display_info.tags} <tr id="Tags"> <td class="label">{'Tags'|@translate}</td> <td class="value"> {if isset($related_tags)} {foreach from=$related_tags item=tag name=tag_loop}{if !$smarty.foreach.tag_loop.first}, {/if} <a href="{$tag.URL}">{$tag.name}</a>{/foreach} {/if} </td> </tr> {/if} {if $display_info.categories} <tr id="Categories"> <td class="label">{'Categories'|@translate}</td> <td class="value"> {if isset($related_categories)} <ul> {foreach from=$related_categories item=cat} <li>{$cat}</li> {/foreach} </ul> {/if} </td> </tr> {/if} {if $display_info.visits} <tr id="Visits"> <td class="label">{'Visits'|@translate}</td> <td class="value">{$INFO_VISITS}</td> </tr> {/if} {if $display_info.average_rate and isset($rate_summary) } <tr id="Average"> <td class="label">{'Average rate'|@translate}</td> <td class="value" id="ratingSummary"> {if $rate_summary.count} {assign var='rate_text' value='%.2f (rated %d times)'|@translate } {$pwg->sprintf($rate_text, $rate_summary.average, $rate_summary.count) } {else} {'no rate'|@translate} {/if} </td> </tr> {/if} {if isset($rating)} <tr id="rating"> <td class="label"> <span id="updateRate">{if isset($rating.USER_RATE)}{'Update your rating'|@translate}{else}{'Rate this picture'|@translate}{/if}</span> </td> <td class="value"> <form action="{$rating.F_ACTION}" method="post" id="rateForm" style="margin:0;"> <div> {foreach from=$rating.marks item=mark name=rate_loop} {if !$smarty.foreach.rate_loop.first} | {/if} {if isset($rating.USER_RATE) && $mark==$rating.USER_RATE} <input type="button" name="rate" value="{$mark}" class="rateButtonSelected" title="{$mark}"> {else} <input type="submit" name="rate" value="{$mark}" class="rateButton" title="{$mark}"> {/if} {/foreach} <script type="text/javascript" src="{$ROOT_URL}themes/default/js/rating.js"></script> <script type="text/javascript"> makeNiceRatingForm( {ldelim}rootUrl: '{$ROOT_URL|@escape:"javascript"}', image_id: {$current.id}, updateRateText: "{'Update your rating'|@translate|@escape:'javascript'}", updateRateElement: document.getElementById("updateRate"), ratingSummaryText: "{'%.2f (rated %d times)'|@translate|@escape:'javascript'}", ratingSummaryElement: document.getElementById("ratingSummary") {rdelim} ); </script> </div> </form> </td> </tr> {/if} {if $display_info.privacy_level and isset($available_permission_levels) } <tr id="Privacy"> <td class="label">{'Who can see this photo?'|@translate}</td> <td class="value"> <script type="text/javascript"> {literal}function setPrivacyLevel(selectElement, rootUrl, id, level) { selectElement.disabled = true; var y = new PwgWS(rootUrl); y.callService( "pwg.images.setPrivacyLevel", {image_id: id, level:level} , { method: "POST", onFailure: function(num, text) { selectElement.disabled = false; alert(num + " " + text); }, onSuccess: function(result) { selectElement.disabled = false; } } ); }{/literal} </script> <select onchange="setPrivacyLevel(this, '{$ROOT_URL|@escape:'javascript'}', {$current.id}, this.options[selectedIndex].value)"> {foreach from=$available_permission_levels item=label key=level} <option label="{$label}" value="{$level}"{if $level == $current.level} selected="selected"{/if}>{$label}</option> {/foreach} </select> </td></tr> {/if} </table>
Les champs que vous recherchez se trouvent sur les lignes commençant par <td class=“label”>
Par exemple pour supprimer le champ Dimensions on supprimera le pavé :
{if $display_info.dimensions} <tr id="Dimensions"> <td class="label">{'Dimensions'|@translate}</td> <td class="value">{if isset($INFO_DIMENSIONS)}{$INFO_DIMENSIONS}{else}{'N/A'|@translate}{/if}</td> </tr> {/if}
Une fois que vous avez apporté vos modifications, rendez vous dans [Administration » Configuration » Templates (modèles) ]
Au niveau de la ligne /my-picture.tpl, assignez dans la colonne Templates d'origine le fichier picture.tpl et dans la colonne Template rattaché, le nom de votre template.
A l'aide de LocalFiles Editor, éditer l'un de vos fichier .css
Ajouter à la fin, le code suivant :
/* Suppression de l'icône de "Afficher les méta-data" */ #imageToolBar img[alt="metadata"] { display: none; }
Il faut modifier le fichier picture.tpl
Aussi reportez vous à la section template-extention pour plus d'informations sur les template-extentions afin de vous servir de votre propre fichier. |
---|
Recherchez la ligne :
<a href="{$U_METADATA}" title="{'picture_show_metadata'|@translate}" rel="nofollow"><img src="{$ROOT_URL}{$themeconf.icon_dir}/metadata.png" class="button" alt="metadata" /></a>
Et remplacez-la par :
<!-- <a href="{$U_METADATA}" title="{'picture_show_metadata'|@translate}" rel="nofollow"><img src="{$ROOT_URL}{$themeconf.icon_dir}/metadata.png" class="button" alt="metadata" /></a> -->
La taille des miniatures est fixée à 128×128 pixels de côté par défaut. Vous voudriez peut-être modifier cette valeur pour, par exemple, agrandir vos miniatures. Nous utiliserons LocalFiles Editor
Allez dans : Administration > Plugins > LocalFile Editor > Onglet: CSS > Liste déroulante: template-common / local-layout.css
Insérez :
/* Modification de la taille des vignettes */ /* Testé sur Piwigo v2.0.1 thème yoga/dark */ /* Ne fonctionne pas avec pas avec le thème Sylvia */ /* Set some sizes according to your maximum thumbnail width and height */ .content UL.thumbnails SPAN, .content UL.thumbnails SPAN.wrap2 A, .content UL.thumbnails LABEL, .content DIV.thumbnailCategory DIV.illustration { width: 166px; /* max thumbnail width + 6px */ } .content UL.thumbnails SPAN.wrap2, .content DIV.thumbnailCategory DIV.description { height: 166px; /* max thumbnail height + 6px */ }
Modifications : Dans mon exemple, la taille de mes miniatures fait au maximum 160px de côté. Pour une question d'esthétique, vous pouvez majorer votre dimension maximum en ajoutant XXpixels. Faites vos propres réglages en n'oubliant pas de vider le cache de votre navigateur pour que le nouveau réglage soit correctement pris en compte puis en rafraîchissant votre page comportant les miniatures.
En attente d'une solution pour le thème Sylvia
Sylvia fonctionne par exemple avec template-common / local-layout.css et le code suivant :
/* Set some sizes according to your maximum thumbnail width and height */ .content UL.thumbnails SPAN, .content UL.thumbnails SPAN.wrap2 A, .content UL.thumbnails SPAN.wrap2 LABEL, .content DIV.thumbnailCategory DIV.illustration { width: 192px; /* max thumbnail width + 2px */ } .content UL.thumbnails SPAN.wrap2, .content DIV.thumbnailCategory DIV.description { height: 192px; /* max thumbnail height + 2px */ } .content DIV.comment BLOCKQUOTE { margin-left: 172px; /*maximum thumbnail width + ~10px */ }
A l'aide de localfileseditor et du fichier local-layout.css insérez le code :
.content UL.thumbnails IMG { border: 1px solid #000000; }
Pour encadrer les photos sur la page picture.php, utilisez le plugin Look Like GBO 2
- Recherchez et copiez le fichier suivant template/yoga/mainpage_categories.tpl
- Collez le dans template-extension/pub/ (bien entendu créez le dossier)
- modifiez comme indiqué mais ne recopiez pas les commentaires :
<ul class="thumbnailCategories"> {foreach from=$category_thumbnails item=cat} {counter assign=mavar print=false} // à chaque passage sur cette ligne de code due à la boucle foreach, counter met +1 en valeur dans mavar. Équivaut donc à l'incrémentation i++; {if $mavar==valeur} // à partir de la 'valeur' énième catégories, on affiche la pub ma pub : Votez pour moi ! {assign var='mavar' value='0'}// pour remettre à 0 mavar, si plusieurs pubs tous les 'valeur' de fois, sont souhaitées. Ex si 'valeur' vaut 2, toutes les 2 catégories la pub sera affichée. {/if} // fin de ma pub <li> <div class="thumbnailCategory"> <div class="illustration"> [... le restant de mainpage_categories.tpl qui se finit par {/foreach} </ul> ...]
Le pied de page peut être modifié via le fichier footer.tpl Tout d'abord, afin de ne pas modifier le fichier footer.tpl original, vous allez prendre soin de le clôner avec la méthode du “Template-extension” décrite dans ce chapitre : Réaliser un template-extension (modèles).
Nous supposerons que votre fichier modifié se nommera my-footer.tpl Nous utiliserons LocalFiles Editor
Allez dans : [ Administration » Spéciales » Plugins » LocalFile Editor > Onglet: “Templates” ] Liste déroulante: ../my-footer.tpl
Insérez entre :
<div id="copyright"> <a name="EoP"></a> <!-- End of Page -->
Et entre :
</div> <!-- copyright --> </body> </html>
Recherchez dans my-footer.tpl :
{if isset($CONTACT_MAIL)} - {'send_mail'|@translate} <a href="mailto:{$CONTACT_MAIL}?subject={'title_send_mail'|@translate|@escape:url}">{'Webmaster'|@translate}</a> {/if}
Remplacez par :
- {'send_mail'|@translate} <a href="mailto:votre_adresse@email?subject={'title_send_mail'|@translate|@escape:url}">{'Webmaster'|@translate}</a>
⇒ Bien faire attention de conserver le ?
après votre_adresse@email
Modifications : Vous pouvez apporter les modifications que vous désirez mais en faisant attention de respecter la consigne qui se trouve inscrite dans le même fichier:
{* Please, do not remove this copyright. If you really want to, contact us on http://piwigo.org to find a solution on how to show the origin of the script... *}
Le principe consiste à ne montrer que les miniatures aux utilisateurs non enregistrés. Ces derniers, en cliquant sur la miniature seront redirigés vers la page d'identification (identification obligatoire - peux importe le compte - pour voir la photo).
Remarques : Après être identifiés, l'utilisateur reviendra sur l'index de la galerie et n'accédera pas à la page demandée avant son identification.
Sur le forum : lien
Sujet d'origine : http://fr.piwigo.org/forum/viewtopic.php?id=17001
Par défaut, Piwigo affichera sur les catégories de manière à n'en n'afficher que 2 par ligne.
L'astuce suivante permet de vous montrer que cette affichage n'est définitif. Par exemple, pour afficher 3 catégories par ligne.
A l'aide de LocalFiles Editor Onglet ⇒ CSS et à la fin du fichier qui porte le même nom que votre thème, ajouter les lignes suivantes :
/* Passer à un affichage avec 3 colonnes */ .content ul.thumbnailCategories li { width:31%; }
.thumbnailCategories li { width: 31%; }
Vue sur le forum : http://fr.piwigo.org/forum/viewtopic.php?pid=147813#p147813
Le but ici étant de déplacer le lien “Contact” en-dessous de ”Notification” (Exemple : http://www.kayak-en-liberte.org/index.php? )
Créer un template-extension de menubar.tpl et insérez-y dedans :
{known_script id="jquery" src=$ROOT_URL|@cat:"themes/default/js/jquery.packed.js"} {html_head} {literal} <script type="text/javascript"> jQuery(document).ready( function($) { $("#menubar li a[href*=notification.php]").parent().after($("#menubar li a[href*=contact]").parent()); } ); </script> {/literal} {/html_head}
Fonctionne aussi avec le dossier ./upload de pLoader.
Le contexte : vous souhaitez renommer un dossier physique, ou bien vous désirez déplacer un dossier physique. Il est possible de réaliser cette opération en sécurité.
Imaginez que vous souhaiteriez renommer votre dossier ./galleries/machin en ./galleries/machintruc. Il faudra vous rendre dans votre phpMyAdmin et exécuter la requête SQL suivante :
UPDATE piwigo_images SET path = REPLACE(path, './galleries/machin', './galleries/machintruc') ;
C'est l'email qui est affiché en pied de page de Piwigo et sur les emails envoyés.
[Administration » Identification » Utilisateurs ] se rendre à la ligne concernant le webmaster (normalement id #1) et cliquer sur l'icône :
Niveau de difficulté : simple
Si certaines formulations de Piwigo ne vous conviennent pas, il est tout à fait possible d'en modifier la source.
Pour commencer, rendez vous dans [ Administration » Spéciales » LocalFiles Editor1) > Onglet “Langues” ]
Choisir “Français [FR]” > Cliquer sur “Editer”
Cliquer sur Afficher le fichier “common.lang.php”
Une fenêtre pop-up s'ouvre.
Rechercher2) le nom que vous souhaitez remplacer.
Dans notre cas on recherchera par exemple “Notification”
Vous devriez trouver la ligne :
$lang['Notification'] = 'Notification';
Ce qui nous intéresse le plus c'est ce qui est noté après le signe ” = ” (égal) car c'est ce que l'on recherche.
Copiez-là et vous pouvez fermer la pop-up.
De retour sur votre précédente page, collez dedans le résultat de votre recherche avant la dernière ligne qui est ?>
Vous n'avez plus qu'à changer la valeur qui se trouve après le signe ” = ” (égal) par le nom qu'il vous plaira.
Attention tout même si votre expression comporte un signe ” ' ” (apostrophe). Il faudra le faire précéder du signe ” \ ” (antislash).
Attention à ce que votre expression soit bien comprise entre un signe ” ' ” (apostrophe) en début et en fin.
Enregistrez.
Si la modification n'est pas prise en compte, videz le cache de votre navigateur.
Si dans votre galerie vous offrez la possibilité à vos visiteurs de pouvoir uploader leurs propres photos, il vous apparaîtra utile de voir le lien “Ajouter un image” dans l'un des menus de la colonne de gauche de votre site. Car en l'état actuel des choses, il faut se rendre sur la catégorie concernée pour voir ce lien apparaître : pas glop.
Donc l'astuce consiste tout simplement à créer un lien avec l'aide de [Plugin] Advanced Menu Manager et d'attribuer à ce lien l'adresse http://nom_de_votre_site/repertoire_piwigo_eventuel/upload.php
Les utilisateurs se gèrent de différentes manières. Au niveau individuel il faut déjà définir leurs statuts. On peut également définir leurs niveaux de confidentialité.
Créez un plugin personnel avec le code suivant :
add_event_handler('loc_begin_page_tail', 'personal_sync_not_simulate'); function personal_sync_not_simulate() { global $page, $template; if ( isset($page['page']) and $page['page'] == 'site_update' ) { $template->append('footer_elements', '<script type="text/javascript"> document.getElementsByName("simulate")[0].checked = false; </script>'); } }
— Gotcha 2009/05/22 14:53 Réalisé sur la base de Piwigo v2.0.2
Le but recherché étant de stocker des informations EXIF-ITPC pour pouvoir les ressortir sur la page de présentation de l'image, mais de façon totalement indépendante de la gestion des méta-données.
L'exercice est réservé aux utilisateurs avertis.
Rappelons qu'il est nécessaire de faire des sauvegardes de vos fichiers que nous allons modifier ainsi que de la base de données.
A vous d'adapter cet exercice à vos besoins
Si vous n'avez pas encore regardé les possibilités qu'offre le fichier config_local.inc.php
je vous demande de lire la page gestion_meta pour vous familiariser avec les champs et termes que nous allons voir. C'est la base de toutes manipulations.
Bien, maintenant que votre config_local.inc.php
est préalablement rempli, nous allons pouvoir le compléter.
Ce qui suit n'est qu'un exemple inspiré de ajout_de_champs_iptc et plus loin de nous : v1.5
Admettons que je veuille enregistrer dans ma BDD (Base De Données) le résultat de iptc_City
Dans config_local.inc.php
recherchez :
$conf['show_iptc_mapping'] = array(
Ajoutez à la suite : 3)
'iptc_City' => '2#090',
Puis, sous :
$conf['use_iptc_mapping'] = array(
Ajoutez :
'iptc_City' => '2#090',
Dans la BDD, via votre administration, exécutez la requête SQL suivante :
ALTER TABLE `piwigo_images` ADD `iptc_City` varchar(255) COLLATE latin1_general_ci DEFAULT NULL
Explications:
Dans la table piwigo_images
on va ajouter un champ nommé iptc_City
avec les caractéristiques citées aux dessus.
D'ores et déjà, vous pouvez mettre à jour vos photos car le nouveau champ est vierge pour le moment. Faites une synchronisation habituelle avec les méta-données.
Gardez à l'esprit que lors d'une mise à jour de Piwigo, les modifications apportées à ce fichier peuvent être perdues ! |
---|
Recherchez:
//--------------------------------------------------------- picture information
Et ajoutez à la suite:
// iptc_City if (!empty($picture['current']['iptc_City'])) { $infos['INFO_IPTC_CITY'] = $picture['current']['iptc_City']; } else { $infos['INFO_IPTC_CITY'] = l10n('N/A'); }
Reportez vous à la section templates-modeles pour plus d'informations sur les template-extensions. |
---|
Partez donc de la base de picture.tpl et dupliquez-le en my-picture.tpl
Je vais simplement ajouter le champ à la liste déjà présente.
Recherchez :
<table class="infoTable" summary="Some info about this picture">
Ajoutez après :
<tr> <td class="label">{'iptc_City'|@translate}</td> <td class="value">{$current.iptc_City}</td> </tr>
Dans votre fichier ..\language\fr_FR\local.lang.php
recherchez :
<?php
Ajoutez après :4)
$lang['iptc_City'] = 'Ville';
en cours de rédaction.
http://fr.piwigo.org/forum/viewtopic.php?pid=110584#p110584
en cours de rédaction.
http://fr.piwigo.org/forum/viewtopic.php?pid=137974#p137974
(Voir aussi lien.)
Si la première page de présentation ne vous convient pas et que vous arrivez à trouver votre bonheur avec Additional Pages, Piwigo vous permet de changer votre page d'accueil par défaut.
index.php?/additional_page/1
$conf['random_index_redirect'] = array( PHPWG_ROOT_PATH.'index.php?/additional_page/1' => 'return true;' );
Niveau de difficulté : Intermédiaire
Connaissances requises :
Une grande majorité des visiteurs ne sait pas redimensionner correctement une image. Qu'un d'eux imagine proposer une miniature respectant la charte graphique de votre site, relèvera de l'exceptionnel (déjà que l'image normale…).
Alors pourquoi demander une miniature dans ces conditions ?
Afin d' “alléger” encore un peu la galerie, nous pouvons supprimer cette demande de miniature.
Dans [Exemple] Faire son plugin personnel, vous ajouterez :
/* Plugin Name: Ne plus demander la miniature d'upload HTTP Description: Va supprimer l'étape de la demande de miniature lors d'un upload via HTTP (visiteur). Plugin URL: http://piwigo.org Author: Author URL: */ add_event_handler('loc_begin_page_header', 'Flush_thumbnail_upload'); function Flush_thumbnail_upload() { global $page; // No thumbnail upload resquest // Plus de demande de miniature if (isset($page['waiting_id']) and isset($page['body_id']) and $page['body_id'] == 'theUploadPage') { $page['upload_successful'] = true; } }
Testé avec la v2.0.3
Niveau de difficulté : Intermédiaire
Connaissances requises :
Si vous proposez deux catégories en Upload par HTTP, par exemple “Alsace” et “Bretagne”, soyez-en certain vous aurez des images de St-Malo avec celles de Colmar où l'inverse.
Pour rectifier ces erreurs, nous avons la solution des catégories virtuelles. Sauf que ces catégories ne permettent plus à vos visiteurs de faire de l'upload HTTP.
Alors?
Dans [Exemple] Faire son plugin personnel, vous ajouterez :
/* Plugin Name: Upload publique Description: Donner la posibilité à n'importe quel visiteur de vous envoyer des photos sur votre galerie. A vous après de les valider/trier ;) Plugin URL: http://piwigo.org Author: Author URL: */ add_event_handler('init', 'set_Default_Upload_Cat'); function set_Default_Upload_Cat() { // Create physical category ("All_uploaded_pictures") // Créer // Lock category "All_uploaded_pictures" // Verrouiller // Rename "All uploaded pictures" in "unlock for upload All uploaded pictures" // renommer en "unlock for upload All uploaded pictures" global $user, $page, $conf, $lang; // Try to find a category with name like "unlock for upload%" $query = 'SELECT id FROM '.CATEGORIES_TABLE.' WHERE name like \'unlock for upload%\';'; $result = pwg_query($query); $upload_array = array(); while ($row = mysql_fetch_array($result)) { array_push($upload_array, $row['id']); } if (isset($upload_array[0])) { // First one: remove it from forbidden cats if (script_basename()=='upload') { $page['category']=$upload_array[0]; // Just for upload if ($user['forbidden_categories']!=='') { $forbidden_array = explode(',',$user['forbidden_categories'] ); $forbidden_array = array_diff($forbidden_array,array($upload_array[0])); $user['forbidden_categories'] = implode(',', $forbidden_array); } } $conf['links']['./upload.php?cat='.$upload_array[0]] = $lang['upload_picture']; } }
Pour ceux qui n'aurait pas compris, il suffit de tester. Pensez à vous déconnecter !!!
Ajouter des CGU (Condition générales d'utilisation) lors de l'enregistrement des utilisateurs, c'est possible.
Sur forum : lien