Annonce

É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)

mistic100
2014-03-08 21:49:23

parce que Piwigo se base sur le nom du bouton cliqué, et s'il ne le connait pas il ne traite pas le formulaire

cela dit c'est une mauvaise technique parce que si on presse Entrée en ayant le focus sur le nom de l'album ça ne sauvegarde pas, mais pour l'instant ça marche comme ça

djizzio
2014-03-08 21:48:15

Effectivement, maintenant ça fonctionne. En fait ca fonctionnait depuis le début (j'avais essayé avec loc_begin au début), mais comme je ne voyais pas mon printf, je pensais que cela ne marchait pas.

Par contre je ne comprend pas pourquoi avec le loc_end je peux récuperer les $_POST des autres bouttons submit?

mistic100
2014-03-08 21:24:25

et fait ce que je dis est plus ou moins vrai, la redirection se fait avant le trigger loc_end_cat_modify
donc il faut que vous utilisiez loc_begin_cat_modify impérativement

mistic100
2014-03-08 21:22:09

dans cat_modify.php quand le formulaire est soumis (test sur $_POST['submit']) la page est redirigée (vers elle meme) après la sauvegarde

donc vous ne voyez jamais votre printf("Get POST!");
mettez un die; à la place et vous verrez que ça marche

ensuite mettez votre code de traitement à la place de printf("Get POST!"); et ça sera bon

djizzio
2014-03-08 21:17:37

je viens de tester, en utilisant mon propre boutton submit, je peux récuperer mes données dans $_POST.
Mais pas quand j'utilise le boutton submit de piwigo défini dans cat_modify.tpl.....

djizzio
2014-03-07 09:46:50

Oui je comtais faire comme ca. Je peux faire autrement si cela pose un problème. Mais dans mon cas actuel, j'ai tout supprimé, plus de prefiltre, je cherche juste à recupérer la variable $_POST du submit ... mais j'ai l'impression que cela se passe ailleurs ...

ddtddt
2014-03-06 22:40:53

Tu insères tes données dans le form du sumit de la page ?

djizzio
2014-03-06 22:39:04

je comptais utiliser celui de la page

ddtddt
2014-03-06 22:21:37

Bonjour

le sumit il viens d'ou ?

tu as rajouter un bouton ou tu veux utiliser celui de la page ?

djizzio
2014-03-06 21:58:38

Je m'y remet un peu après une petite pause. Je dois faire quelque chose de faux pour le moment. Je tente de récupérer la variable $_POST avec un trigger ... mais elle est toujours vide.

J'ai un peu regardé dans le plugin META et l'ai un peu instrumentalisé avec des printf, chez eux ca marche sans problème.

Pourtant ma fonction est on ne peux plus simple pour le moment:

Code:

add_event_handler('loc_end_cat_modify', 'get_post_data');

function get_post_data(){
  if (isset($_POST['submit'])){
    printf("Get POST!");
  }
  else {
    printf("Post empty!");
  }
}

Dans tous les cas, et quoique je fasse $_POST est vide ....

mistic100
2014-02-25 10:30:41

c'est pour ça qu'il y a les triggers

vous vous mettez sur loc_end_cat_modify et faites vos traitements quand $_POST est plein
Piwigo lui va ignorer vos champs mais vous pourrez les utiliser plus tard

ça fait une requete SQL de plus mais on s'en fou

djizzio
2014-02-25 09:19:50

Ok, j'i été un peu bête de ne pas penser à regarder dans admin/cat_modify.php ...

Du coup nouvelle question ...
Si je modifie le formulaire d'entrée pour les categories, et ajoute des champs à CATEGORIES_TABLE,
je vais devoir modifier cat_modify.php, en particulier entre entre les lignes 115-120

Code:

 $data = array(
    'id' => $_GET['cat_id'],
    'name' => @$_POST['name'],
    'comment' =>
      $conf['allow_html_descriptions'] ?
        @$_POST['comment'] : strip_tags(@$_POST['comment']),
    );

En faisant cela, je me rend incompatible avec les futures évolutions de piwigo, à moins de faire à chaque upgrade de piwigo un merge entre mes fichiers et les votres. Cela n'est pas vraiment le but d'un plugin ...
Il y a t'il une autre solution ?

Une autre solution, que je souhaiterai éviter, serait d'avoir un forumlaire séparé pour ces propriétés de catégorie supplémentaires, avec une table séparée dans la base de données. Mais si je pouvais éviter cela ...

mistic100
2014-02-24 22:38:04

quand on installe Piwigo, le programme charge le contenu du fichier SQL, modifie les noms des tables selon le prefixe qu'on a réglé ("phpmyadmin_" pour vous) puis execute les requetes

puisque le nom réel des tables dépend de chacun les valeurs sont stockée dans les constantes *_TABLE
se sont bien des constantes PHP, et c'est leur valeur qui est le nom de la table

donc dans vos codes utilisez CATEGORIES_TABLE et rien d'autre (et ça s'utilise comme une variable normale sauf qu'on ne peut pas la modifier)

--

ben c'est dans admin/cat_modify.php

djizzio
2014-02-24 22:34:34

Allez, on continue. Donc pour ajouter des champs à la table, cela ne devrait pas trop poser de problèmes.
en suivant l'exemple Skeleton. Je vais peut être même les ajouter directement à partir de phpmyAdmin. Par contre je me pose des questions sur le nom de la table elle même ...

- j'ai trouvé dans le fichier piwigo-structures-mysql.sql le nom 'piwigo_categories' pour la table qui m'intéresse. Pourtant tous les accès à cette table dans les fichiers php semblent se faire par le nom de table 'CATEGORIES_TABLE'. Dans phpmyAdmin, la table s'apelle phpwebgallery_categories (du nom de l'ancien piwigo) ..... Quelque chose m’échappe là ....

- second point: je ne trouve pas où se trouve la requête pour updater cette table après avoir soumis les modifications depuis le formulaire de cat_modify.tpl

Merci encore pour vos réponses !

djizzio
2014-02-24 10:07:31

Ben ca fait quelques années que je n'avais plus "touché" au php. Effectivement, maintenant en relisant la doc cela me rievent à l'esprit ... j'avais oublié !

Merci pour la réponse ;)

Pied de page des forums

Propulsé par FluxBB

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