Écrire une réponse

Veuillez écrire votre message et l'envoyer

Cliquez dans la zone sombre de l'image pour envoyer votre message.

Retour

Résumé de la discussion (messages les plus récents en premier)

Zaphod
2009-04-08 08:53:55

VDigital a écrit:

Et tu ne feras pas l'effort du plugin et tu passeras à coté de la puissance du système.

Le peu que j'ai vu pour l'instant dans les plugins me dépasse totalement.
Donc si je veux faire quelque chose, ça me prendra *beaucoup* de temps.
Et je n'allais pas attendre deux mois pour régler mon problème.

Pour ce problème précis, apprendre à faire une requête de remplacement par lot en PHPmyadmin serait probablement plus payant en rapport efficacité / temps passé qu'un plugin, qui nécéssiterait d'être maintenu et mis à jour à chaque changement de branche.

Surtout que je ne sais même pas si les modifs que j'ai faites provisoirement étaient correctes ou pas (ça n'est pas parce que ça marche que c'est bien fait).


VDigital a écrit:

PS: On ne customise pas la BDD mais on ajoute une table et avec un plugin on étend la recherche.

Sur le fond je suis totalement d'accord.

C'est sans doute ce qui est fait dans RV Maps & Earth, par exemple, et je suis d'accord que c'est beaucoup plus propre.
Par contre je veux éviter d'avoir à synchroniser séparément comme dans RV M&E, je ne sais pas si c'est possible.

Pour étendre la recherche, honnêtement je ne sais absolument pas comment faire, j'avais ouvert une demande d'évolution à ce sujet, cf. ce topic :
http://fr.piwigo.org/forum/viewtopic.php?id=11664

Il y a un autre topic créé depuis :
http://fr.piwigo.org/forum/viewtopic.php?id=14721
que je n'avais d'ailleurs pas vu jusqu'ici.

Pour l'instant la recherche n'est pas possible même sur certains champs de la BDD comme le champ auteur, donc j'imagine que ça n'est pas si facile à faire...


Après, sur le principe, oui il faudrait des plugins pour tout ça...
Quoique.
Ma custom de BDD a très très bien passé la mise à jour 1.7.1 -> 2.0, alors qu'un plugin aurait demandé du temps d'adaptation...

De toutes façons, les infos IPTC étant dans les images... même si les colonnes de la BDD sont perdues lors d'une MAJ, il suffira d'une petite modif et d'une resynchro pour les récupérer.
Tout comme les infos GPS d'ailleurs.
Le but pour moi étant que la BDD ne contienne RIEN qui soit indispensable au site (il y a tout de même toutes les associations images / catégories, c'est inévitable) pour pouvoir facilement virer des images et les remplacer si besoin.
Donc tout : titre, description, GPS, localisation, tags etc... et également nommage pour donner l'ordre des images, est fait avant l'envoi vers Piwigo.

VDigital
2009-04-08 08:09:09

Zaphod a écrit:

et ne plus toucher à rien.

Et tu ne feras pas l'effort du plugin et tu passeras à coté de la puissance du système.

PS: On ne customise pas la BDD mais on ajoute une table et avec un plugin on étend la recherche.

Zaphod
2009-04-07 22:50:28

VDigital a écrit:

A la prochaine version de Piwigo, tu recommences...

Oui.
Ca n'est pas la première modif que je fais dans les .TPL d'admin, ceci dit.

J'ai changé la longueur des champs "légende" et "titre", j'ai viré l'édition des tags dans la plupart des éditions. (je ne fais qu'importer mes tags dans Piwigo, je ne les édite jamais).

J'ai effectivement refait les modifs au passage de 1.7.1 en 2.0, mais ça n'est pas ce qui m'a pris le plus de temps.

J'ai aussi customisé ma BDD pour avoir 4 champs localisation en plus (sur lesquels malheureusement on ne peut pas faire de recherche).

Tout ça serait beaucoup plus propre avec des plugins, mais je ne sais pas faire de plugin.


VDigital a écrit:

Si en 2.1 on change la structure de la base, tu sera bloqué et nous ne saurons pas t'aider.

Pour cette modif précise, je n'ai fait que modifier des champs de la BDD... sans rien modifier à la structure.
J'ai remis les PHP et TPL de base, et c'est comme si j'avais fait une modif via PHPmyadmin.

VDigital a écrit:

Prends un plugin simple en exemple et essaie de comprendre.
Tu dois pouvoir y arriver en 8 jours et tu seras 8 fois plus heureux.
;-)

J'ai déja essayé sans trop de succès.
Un plugin nécessite aussi un minimum d'interface admin, ce qui prend du temps.

Là... j'avais vraiment besoin d'une solution rapide, sans quoi je ne pouvais pas mettre mon site en ligne, ce que je veux faire avant la fin de la semaine.
Ca m'a pris moins de temps à faire qu'à expliquer sur ce post ce que j'avais fait ;) donc l'objectif est atteint.

Je me reposerai la question du plugin quand j'aurai plus de temps.
Mais j'ai déja passé pas mal de temps à la personnalisation de ma galerie piwigo, j'ai obtenu un résultat largement supérieur à mes attentes, donc là... dans un avenir proche je vais souhaiter surtout l'utiliser et ne plus toucher à rien.

VDigital
2009-04-07 22:30:30

A la prochaine version de Piwigo, tu recommences...
Si en 2.1 on change la structure de la base, tu sera bloqué et nous ne saurons pas t'aider.
Prends un plugin simple en exemple et essaie de comprendre.

Tu dois pouvoir y arriver en 8 jours et tu seras 8 fois plus heureux.
;-)

Zaphod
2009-04-07 22:26:32

Je ne mets pas [Résolu] car la solution actuelle n'est pas totalement satisfaisante... mais dépanne bien.

Zaphod
2009-04-07 22:24:27

Je ne sais pas comment faire une modif de ce style (sur 200 photos d'un coup) via PHPmyadmin.

Je ne sais pas non plus comment faire un plugin qui fait ce que je veux.

J'ai donc modifié le element_set_global.php de la façon suivante :

(1) ligne 229 :

Code:

$formfields = array('author', 'name', 'date_creation', 'date_available', 'level');

(2) Ensuite, juste après le bloc :

Code:

      if ('set' == $_POST['date_creation_action'])
      {
        $data['date_creation'] =
          $_POST['date_creation_year']
          .'-'.$_POST['date_creation_month']
          .'-'.$_POST['date_creation_day']
          ;
      }

Ajout d'un bloc :

Code:

      if ('set' == $_POST['date_available_action'])
      {
        $data['date_available'] =
          $_POST['date_available_year']
          .'-'.$_POST['date_available_month']
          .'-'.$_POST['date_available_day']
      .' 00:00:00'
          ;
      }

(3) Et juste avant :

Code:

// image level options

ajout d'un bloc :

Code:

$aday =
empty($_POST['date_available_day']) ? date('j') : $_POST['date_available_day'];

$amonth =
empty($_POST['date_available_month']) ? date('n') : $_POST['date_available_month'];

$ayear =
empty($_POST['date_available_year']) ? date('Y') : $_POST['date_available_year'];

$template->assign( array(
      'month_list'         => $month_list,
      'DATE_AVAILABLE_DAY'  => (int)$aday,
      'DATE_AVAILABLE_MONTH'=> (int)$amonth,
      'DATE_AVAILABLE_YEAR' => (int)$ayear,
    )
  );

(4) Ensuite, modification de element_set_global.tpl
Juste après le bloc cité quelques messages plus haut, ajout d'un bloc :

Code:

    <tr>
        <td>Date d'ajout</td>
        <td>
          <label><input type="radio" name="date_available_action" value="leave" checked="checked" /> {'leave'|@translate}</label>
          <label><input type="radio" name="date_available_action" value="unset" /> {'unset'|@translate}</label>
          <label><input type="radio" name="date_available_action" value="set" id="date_available_action_set" /> {'set to'|@translate}</label>
          <select id="date_available_day" name="date_available_day">
             <option value="0">--</option>
            {section name=day start=1 loop=32}
              <option value="{$smarty.section.day.index}" {if $smarty.section.day.index==$DATE_AVAILABLE_DAY}selected="selected"{/if}>{$smarty.section.day.index}</option>
            {/section}
          </select>
          <select id="date_available_month" name="date_available_month">
            {html_options options=$month_list selected=$DATE_AVAILABLE_MONTH}
          </select>
          <input id="date_available_year"
                 name="date_available_year"
                 type="text"
                 size="4"
                 maxlength="4"
                 value="{$DATE_AVAILABLE_YEAR}" />
          <input id="date_available_linked_date" name="date_available_linked_date" type="hidden" size="10" disabled="disabled"/>
        </td>
      </tr>

J'avoue que je n'ai pas tout compris à ce que j'ai fait, ne connaissant rien au PHP, j'ai fonctionné uniquement par imitation.

Le fait est que, c'est moche ou tout ce qu'on veut, mais ça marche...
J'avais besoin de résoudre mon problème vite pour pouvoir mettre mon site en ligne, et le problème est résolu !
A la limite, je pourrais remettre les fichiers .tpl et .php originaux et copier ceux là quelques part pour les ressortir en cas de besoin, en attendant de réécrire ça mieux, et via un plugin.

VDigital
2009-04-07 15:10:30

S'il te plait, pas de modif de ce style, ou alors uniquement par un plugin dédié.
En attendant, tu peux faire une modif par phpMyAdmin.
(Pense à faire une sauvegarde avant).

Zaphod
2009-04-07 14:43:11

Il faudrait en fait modifier le element_set_global.tpl pour rajouter un paragraphe équivalent au changement de date de création :

Code:

      <tr>
        <td>{'Creation date'|@translate}</td>
        <td>
          <label><input type="radio" name="date_creation_action" value="leave" checked="checked" /> {'leave'|@translate}</label>
          <label><input type="radio" name="date_creation_action" value="unset" /> {'unset'|@translate}</label>
          <label><input type="radio" name="date_creation_action" value="set" id="date_creation_action_set" /> {'set to'|@translate}</label>
          <select id="date_creation_day" name="date_creation_day">
             <option value="0">--</option>
            {section name=day start=1 loop=32}
              <option value="{$smarty.section.day.index}" {if $smarty.section.day.index==$DATE_CREATION_DAY}selected="selected"{/if}>{$smarty.section.day.index}</option>
            {/section}
          </select>
          <select id="date_creation_month" name="date_creation_month">
            {html_options options=$month_list selected=$DATE_CREATION_MONTH}
          </select>
          <input id="date_creation_year"
                 name="date_creation_year"
                 type="text"
                 size="4"
                 maxlength="4"
                 value="{$DATE_CREATION_YEAR}" />
          <input id="date_creation_linked_date" name="date_creation_linked_date" type="hidden" size="10" disabled="disabled"/>
        </td>
      </tr>
Zaphod
2009-04-07 14:11:46

J'ai déja ce plugin... mais  ça me sort quand même les images que je ne veux pas en tant que nouvelles (et c'est normal, sinon le plugin ne marcherait pas correctement, puisque pour la BDD ce sont les dernières ajoutées).

En gros les dernières catégories que j'ai ajoutées datent d'il y a 1 semaine.
Et comme j'ai changé les autres images (qui ne sont pas nouvelles) hier, ce sont forcément elles qui apparaissent en tant que nouvelles.

VDigital
2009-04-07 13:58:05

Plus simple alors d'utiliser extension:180

Zaphod
2009-04-07 10:39:11

Oui, ceci dit je n'affiche pas le nombre de visu (ni la date d'ajout d'ailleurs... j'ai également supprimé les visu en calendrier pour la date d'ajout).

Pour moi le seul intérêt de la date d'ajout pour les visiteurs, c'est de ressortir (ou pas) en tant que nouvelle image.

Là je m'étais planté dans un export de fichiers depuis Lightroom (mauvais ordre des fichiers, donc mauvais nom) donc 200 images avec un mauvais nom, c'était plus rapide de réexporter mes images, et de faire dabs Piwigo une suppression totale de ces photos + réimport.

Ca a effectivement été très rapide mais du coup ces images apparaissent comme nouvelles... ce que je ne veux pas.



Il suffirait en fait de rajouter un champ dans le template d'édition globale des fichiers... mais je ne connais pas le nom des variables ni la façon de le mettre en place (étant donné que c'est un datetime et pas seulement un date, pour la date d'ajout)

VDigital
2009-04-07 09:44:22

La date d'ajout n'est pas modifiable en standard, un plugin de reset de date d'ajout est à faire mais il doit impérativement au moins faire le reset du "hit" en parallèle sinon...
Image ajoutée le ... (aujourd'hui)
Vue .... 14758 fois

Ça ne serait pas très crédible.

Zaphod
2009-04-07 07:26:00

Dans le panier, je ne peux changer que la date de création.
(à moins que ça soit à cause d'une modif de template ? je me souviens avoir viré les tags (j'en ai trop, ça prenait trop de place) de l'édition multiple, mais pas la date de création).

ddtddt
2009-04-07 07:08:30

Tu les mets tous dans ton panier d'admin puis, dans ton panier, tu changes la date pour toutes les photos

Zaphod
2009-04-06 23:05:06

En vérifiant mon site, je me suis aperçu que certaines de mes photos n'étaient pas bonnes (erreur sur le nom de fichier, et comme chez moi, le nom de fichier fait l'ordre...) donc j'ai tout supprimé et réimporté correctement.

Seulement... forcément, maintenant ces images apparaissent comme nouvelles.

J'aimerais changer la date d'ajout de toutes ces images (il y en a plus de 200) afin qu'elles ne ressortent plus comme nouvelles.

J'ai essayé à la fois via l'interface admin et via phpmyadmin... et je n'ai rien trouvé.
Il doit y avoir un truc à faire via phpmyadmin je pense... mais quand je fais éditer, ça fait une édition un par un, et non une édition globale.

Merci à ceux qui pourront m'aider.

Pied de page des forums

Propulsé par FluxBB

github twitter newsletter Faire un don Piwigo.org © 2002-2024 · Contact