Serait-ce un Mod ?....
en tout cas une modification assez simple et non agressive de PWG.
J'avais vu sur le forum qu'un utilisateur avait mis une page sur les conditions d'utilisation de son site.. jusque là, pour ma part, je mettais des infos de ci de là... et du coup, j'ai créé un lien et une page totalement intégrés au site (templates, langues), dédiées aux conditions d'utilisation.
La méthode peut-être employé pour toute autre chose que les conditions d'utilisation.. il est aisé de personnaliser le contenu ou de dupliquer (en changeant de nom) ce Mod..
Bien sur je me suis inspiré du code existant, en copiant ou modifiant les parties existantes.
Voici le descriptif de la démarche :
1) ajouter un lien dans le menu "menu"
Aller dans "include/menubar.inc.php", trouver "summary", ajouter les lignes :
// conditions link $template->assign_block_vars( 'summary', array( 'TITLE' => $lang['conditions_page_title'], 'NAME' => $lang['conditions'], 'U_SUMMARY' => get_root_url().'conditions.php', ) );
2) créer et ajouter à la racine du site PWG le fichier "conditions.php".
<?php // +-----------------------------------------------------------------------+ // | PhpWebGallery - a PHP based picture gallery | // | Copyright (C) 2002-2003 Pierrick LE GALL - pierrick@phpwebgallery.net | // | Copyright (C) 2003-2005 PhpWebGallery Team - http://phpwebgallery.net | // +-----------------------------------------------------------------------+ // | branch : BSF (Best So Far) // | file : $RCSfile$ // | last update : $Date: 2006-03-15 23:44:35 +0100 (mer, 15 mar 2006) $ // | last modifier : $Author: plg $ // | revision : $Revision: 1082 $ // +-----------------------------------------------------------------------+ // | This program is free software; you can redistribute it and/or modify | // | it under the terms of the GNU General Public License as published by | // | the Free Software Foundation | // | | // | This program is distributed in the hope that it will be useful, but | // | WITHOUT ANY WARRANTY; without even the implied warranty of | // | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | // | General Public License for more details. | // | | // | You should have received a copy of the GNU General Public License | // | along with this program; if not, write to the Free Software | // | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, | // | USA. | // +-----------------------------------------------------------------------+ //----------------------------------------------------------- include define('PHPWG_ROOT_PATH','./'); include_once( PHPWG_ROOT_PATH.'include/common.inc.php' ); // +-----------------------------------------------------------------------+ // | Check Access and exit when user status is not ok | // +-----------------------------------------------------------------------+ check_status(ACCESS_GUEST); //----------------------------------------------------- template initialization // // Start output of page // $title= $lang['conditions_page_title']; $page['body_id'] = 'theAboutPage'; include(PHPWG_ROOT_PATH.'include/page_header.php'); $template->set_filenames( array( 'conditions'=>'conditions.tpl', 'conditions_content' => get_language_filepath('conditions.html') ) ); $template->assign_vars( array( 'U_HOME' => make_index_url(), ) ); $template->assign_var_from_handle('CONDITIONS_MESSAGE', 'conditions_content'); $template->parse('conditions'); include(PHPWG_ROOT_PATH.'include/page_tail.php'); ?>
3) créer et ajouter à la racine du dossier template "yoga" (ou autre) le fichier "conditions.tpl"
<div id="content"> <div class="titrePage"> <ul class="categoryActions"> <li> <a href="{U_HOME}" title="{lang:return to homepage}"> <img src="{themeconf:icon_dir}/home.png" class="button" alt="{lang:home}"/> </a> </li> </ul> <h2>{lang:Conditions}</h2> </div> {CONDITIONS_MESSAGE} </div>
4) dans les fichiers de langue "common_langue.php", ajouter les lignes suivantes :
// Page conditions utilisation $lang['conditions_page_title'] = 'Conditions d\'utilisation'; $lang['conditions'] = 'Conditions d\'utilisations'; $lang['conditions_title_1'] = '<b>Conditions d\'utilisation du serveur de photos.</b>'; $lang['conditions_title_2'] = '<u>Accès et consultations :</u>'; $lang['conditions_title_3'] = '<u>Enregistrement, reproduction, diffusion des photos :</u>'; $lang['conditions_title_4'] = ''; $lang['conditions_texte_2'] = 'Accès et consultations : texte à écrire'; $lang['conditions_texte_3'] = 'Enregistrement, reproduction, diffusion des photos : texte à écrire'; $lang['conditions_texte_4'] = 'divers texte à écrire'; $lang['conditions_contact'] = '<a href="mailto://votre adresse mail">contact</a>'; $lang['conditions_adress'] = 'votre adresse';
en traduisant si nécessaire.
5) créer et ajouter le fichier "conditions.html" dans les dossiers de langue, à côté de "about.html".
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" version="1.0" encoding="ISO-8859-1" lang="fr"> <head> <title>Conditions</title> </head> <body> <table style="height: 100%; text-align: left; margin-left: auto; margin-right: auto;" border="0" cellpadding="0" cellspacing="0"> <tbody> <tr> <td style="vertical-align: top;"> <div align="left">{lang:conditions_adress}</div> <table style="width: 902px;" border="0" cellpadding="0" cellspacing="0"> <tbody> <tr> <td colspan="1" rowspan="1" style="text-align: center;"> <p> </p> {lang:conditions_title_1} <p> </p> </span></span></td> </tr> <tr> <td colspan="1" rowspan="1"> <div style="text-align: center; text-decoration: underline;"> <span style="font-family: Arial;"> {lang:conditions_title_2}<br> </span></div> <div style="margin-left: 40px;"> <ul> </ul> </div> </td> </tr> <tr> <td style="text-align: left;" colspan="1" rowspan="1"> <span style="font-family: Arial;"> {lang:conditions_texte_2} </span> <p> </p> </td> </tr> <tr> <td rowspan="1" colspan="1"> <div style="text-align: center; text-decoration: underline;"> <span style="font-family: Arial;"> {lang:conditions_title_3} </span></div> <div style="margin-left: 40px;"> <ul> </ul> </div> </td> </tr> <tr> <td> <span style="font-family: Arial;">{lang:conditions_texte_3} </span> <p> </p> <p> </p> {lang:conditions_contact} <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> </td> </tr> </tbody> </table> </td> </tr> </tbody> </table> <br /> </body> </html>
On peut remplacer les liens {lang:conditions_*} par du texte mais on pert les possibilités de traductions automatiques.
Le lien et la page (non finalisée à ce jour) sont visibles sur mon site.
j'éspère n'avoir rien oublié.....
Suggestion d'évolution : pourrait-on intégrer ce lien et cette page en version officielle, avec pour les webmaster la possibilité d'afficher ou pas le lien (option) et la possibilité de modifier le texte qui serait proposé en standard (option $conf ou page admin...)
amicalement,
éric.
Dernière modification par vimages (2007-01-19 18:33:40)
Hors ligne
vimages a écrit:
Serait-ce un Mod ?....
Et oui...
Sinon, en standard, je ne sais pas car c'est spécifique et le contenu est largement modifiable selon le webmaster.
Le passer en plugin, avec une gestion du contenu par langue, ca pourrait par contre être très intéressant... (ce n'est que mon avis, bien sur!)
Hors ligne
rub a écrit:
Sinon, en standard, je ne sais pas car c'est spécifique et le contenu est largement modifiable selon le webmaster.
se serait bien, il suffirait d'ajouter une variable $conf pour y choisir que le lien vers la page soit activée ou non. ça, je ne sais pas faire.
et ensuite :
avec une gestion du contenu par langue, ca pourrait par contre être très intéressant... (ce n'est que mon avis, bien sur!)
à chacun de choisir si il veut utiliser la page, et d'y mettre ce qu'il voudra ! On peut éventuellement mettre un texte standard par défaut, à modifier tout ou partie par l'utilisateur qui le voudra.
merci..
Dernière modification par vimages (2007-01-19 20:23:43)
Hors ligne
vimages a écrit:
rub a écrit:
Sinon, en standard, je ne sais pas car c'est spécifique et le contenu est largement modifiable selon le webmaster.
se serait bien, il suffirait d'ajouter une variable $conf pour y choisir que le lien vers la page soit activée ou non. ça, je ne sais pas faire.
Avec un plugin par de $conf, on active ou désactive le plugin (à volonté...)
vimages a écrit:
et ensuite :
avec une gestion du contenu par langue, ca pourrait par contre être très intéressant... (ce n'est que mon avis, bien sur!)
à chacun de choisir si il veut utiliser la page, et d'y mettre ce qu'il voudra ! On peut éventuellement mettre un texte standard par défaut, à modifier tout ou partie par l'utilisateur qui le voudra.
En fait, ton code gére déjà le multi-langue, car je parlais de gestion de contenu, c'était en fait d'avoir une interface qui permettrai de gérer les langues sans forcément mettre pleins de fichiers HTML.
Mais on est la même longueur d'onde...
Hors ligne
car je parlais de gestion de contenu, c'était en fait d'avoir une interface qui permettrai de gérer les langues sans forcément mettre pleins de fichiers HTM
peux tu développer ? ça m'intéresse...
par ailleurs... une remarque... c'est vraiment galère de gérer les apostrophes dans les fichiers lang. si on en oublie un, tout est planté.
Hors ligne
vimages a écrit:
car je parlais de gestion de contenu, c'était en fait d'avoir une interface qui permettrai de gérer les langues sans forcément mettre pleins de fichiers HTM
peux tu développer ? ça m'intéresse...
Pourquoi pas, tu peux faire une fiche pour que je me l'assigne et que je ne l'oublie pas.
Pas contre, quand est un autre soucis... j'ai déjà des petits trucs en préparation comme tu dois le savoir ;-)
vimages a écrit:
par ailleurs... une remarque... c'est vraiment galère de gérer les apostrophes dans les fichiers lang. si on en oublie un, tout est planté.
D'ou la gestion! Et ca sera encore pire si le format passe à l'UFT8...
Hors ligne
Rub, quand je disais "développer" je parlais d'expliquer, pas de coder... :o)
Hors ligne
vimages a écrit:
Rub, quand je disais "développer" je parlais d'expliquer, pas de coder... :o)
mdr...
Hors ligne
vimages a écrit:
car je parlais de gestion de contenu, c'était en fait d'avoir une interface qui permettrai de gérer les langues sans forcément mettre pleins de fichiers HTM
peux tu développer ? ça m'intéresse...
Je développe... (D'ailleurs, vu que je me mettais tromper de sens, je dois bien que j'avais été un peu "surpris" par cette phrase... lol J'en rigole encore de mon erreur...)
Gestion de contenu, c'est à dire une interface qui évite à l'utilisateur de créer les HTML qui vont bien pour mettre de l'espagnol par exemple.
Il suffit d'un template en HTML pour fixer la forme et l'interface permettra de mettre à jour les données pour l'ensemble des langues disponibles.
Ca évite de modifier le php pour mettre les traductions et faire des erreurs d'accent ou autres.
Les valeurs parsées du code HTML seront stockées en base ou dans un ou plusieurs fichiers.
Ou peut aussi gérer le contenu non plus par langues mais disposition. On peut avoir un contenu modelable selon certains critères ce qui permettrait avec un même plugin d'avoir plusieurs type de présentation.
et en dernier, c'est pourquoi, d'offrir un interface graphique ou le modelage pourrait se faire à la souris, par contre ca, c'est beaucoup plus de boulot...
et puis, il y a sûrement plein d'autres choses...
Pour résumer, c'est permettre à l'utilisateur de gérer sa page sans ouvrir de fichier php ou de fichier HTML.
Hors ligne
Si j'ai bien compris, c'est une page du site, fonctionnant un peu comme un éditeur.
1) On choisirait la langue concernée dans une liste (basée automatiquement sur les langues disponibles).
2) On entrerait d'une part le mot ou l'expression servant d'appel (équivalent à {lang:xxxxx}) .
3) On entrerait dessous le mot ou le texte à afficher, dans la langue choisie (équivalent à $lang[xxxx] = '').
4) Si il est possible de faire s'afficher la liste des entrées existantes dans le fichier "common.lang.php" de la langue choisie, cela permettrait aussi de pouvoir gérer, modifier les termes utilisés par défaut pour le site !!!!!!!
5) ==>le résultat serait écrit dans le fichier "local.lang.php" lui même enregistré dans le dossier de langue choisie en 1)
Important : Il faut penser à faire s'afficher dans la langue par défaut les mots qui n'auront pas été traduits dans toutes les langues.
On pourrait, comme tu le suggères ajouter des commandes de style. Les basics sont indispensables si on ne veut pas avoir à intervenir dans le php, genre wyswyg. (pour faire simple, au début, on peut ajouter dans le texte les balises html, il suffit de donner les exemples pour les non-connaisseurs, mais à terme, un éditeur type wyswyg est mieux, c'est sur.
C'est une idée sympa, mais réellement utile que pour les pages ajoutées ou / et personnalisables... rare sont les mots et expressions du site de base que les utilisateurs voudront changer, mais qui sait..?.
Je ne prétends pas que cela intéresse beaucoup de monde. Moi oui, mais je saurais me débrouiller sans.
Toutefois, aprés avoir étudié les dev. plus urgent :o))..... , ce pourrait être un atout de plus pour PWG.
amicalement,
éric.
Dernière modification par vimages (2007-01-21 10:12:12)
Hors ligne
vimages a écrit:
1,2,3,4, le reste
C'est bien ca l'idée.
vimages a écrit:
5) ==>le résultat serait écrit dans le fichier "local.lang.php" lui même enregistré dans le dossier de langue choisie en 1)
Non par forcement dedans mais soit dans un nouveau fichier soit en base... mais un fichier qu'on ne peut/doit pas modifier soi-même pour éviter les écrasements, soucis, etc.
vimages a écrit:
C'est une idée sympa, mais réellement utile que pour les pages ajoutées ou / et personnalisables... rare sont les mots et expressions du site de base que les utilisateurs voudront changer, mais qui sait..?.
Utile pour la NBM par exemple, pour gérer le contenu du mail complémentaire suivant la langue (besoin demandé!) ou pour la bannière, etc...
En gros, c'est utile que les données personnalisables... mais peut être appliqué au reste de PWG pour facilité les traductions...
Hors ligne
Avec tout ça, on devient un CMS (gestionnaire de contenu, de portail) complet, là.
On vire carrément en mode portail.
Il est à mon avis plus pérenne de savoir s'intégrer dans un CMS comme dans un blog ou un forum. Chacun son métier.
Et pour être complet, il suffira de sortir les themes equivalents à ceux de PWG dans les principaux CMS (ou l'inverse) et le tour est joué.
La même chose avait été faite pour punBB, c'est devenu punPortal, un dev à part.
Dernière modification par mathiasm (2007-01-21 20:35:49)
Hors ligne
non non.... pour ma part je ne voyais tout ça que comme le moyen d'aider les moins bon en programmation à personnaliser leur site PWG.. c'est tout. L'ajout d'une page ou deux, lapersonnalisation des titres et mots utilisés ne font pat de PWG un CMS.
Hors ligne
.... je me suis borné à faire une personnalisation, à la proposer... et puis la richesse des échanges fait entrevoir d'autres possibilités.. ...mon avis n'est que celui d'un humble utilisateur. C'est au team de choisir les évolutions, la façon de les intégrer.
Cette mise au point faite, ...
Je ne veux pas dénaturer PWG, en faire ce qu'il n'est pas. MAIS, si on peut rendre l'interface de certaines personnalisations, plus conviviale aux non-initiés, je pense que c'est une bonne chose.
amicalement,
éric.
Hors ligne