•  » Plugins
  •  » Migration de plugin - Besoin d'un coup de main svp...

#1 2009-04-03 16:48:02

Eric
Former Piwigo Team
VALENCE (FR)
2005-03-25
4579

Migration de plugin - Besoin d'un coup de main svp...

Bonjour à tous.

J'arrive enfin à me dégager un peu de temps pour tenter de migrer les quelques plugins, dont NBC_UserAdvancedManager) qui me manquent pour basculer ma galerie de 1.7.3 en 2.0.1. Mais je galère bêtement sur un petit truc qui me prend la tête :

Je cherche à mettre une listbox sur une page d'administration de NBC_UserAdancedManager de manière à ce qu'elle propose les groupes d'utilisateurs configurés sur une galerie et permette d'en sélectionner un. En version 1.7.x, pas de problème mais le même code en 2.0.x ne m'affiche qu'un seul item alors qu'il y en à 3...

Voici mon code de gestion de cette liste :

Code:

$groups = array();

$query = '
SELECT id, name
  FROM '.GROUPS_TABLE.'
  ORDER BY name ASC
;';
$result = pwg_query($query);

while ($row = mysql_fetch_array($result))
{
  $groups[$row['id']] = $row['name'];
}

$blockname = 'No_Confirm_Group';

$template->assign(
  $blockname,
  array(
    'VALUE'=> -1,
    'CONTENT' => '------------',
    'SELECTED' => ''
    ));

foreach ($groups as $group_id => $group_name)
{
  $selected = (isset($conf_nbc_UserAdvManager[5]) and $conf_nbc_UserAdvManager[5] == $group_id) ?
    'selected="selected"' : '';
  $template->assign(
    $blockname,
    array(
      'VALUE' => $group_id,
      'CONTENT' => $group_name,
      'SELECTED' => $selected
      ));
}

$template->assign(
  array(
    'UserAdvManager_No_Confirm_Group'     => $conf_nbc_UserAdvManager[5],
  )
);

Et la partie template :

Code:

        <select name="UserAdvManager_No_Confirm_Group">
          <!-- BEGIN No_Confirm_Group -->
          <option value="{$No_Confirm_Group.VALUE}" {$No_Confirm_Group.SELECTED} > {$No_Confirm_Group.CONTENT}</option>
          <!-- END No_Confirm_Group -->
        </select>

Normalement, je devrais avoir les items suivants :
------
group1
group2
group3

Mais la liste ne me permet pas de choisir et seul le group1 est disponible. Le même code sur une galerie 1.7.x fonctionne. Je pense donc qu'il y a quelque chose que j'ai raté pour que çà fonctionne en 2.0.x.

Merci d'avance pour le coup de main !

Hors ligne

#2 2009-04-03 17:18:08

VDigital
Former Piwigo Team
Montpellier (FR)
2005-05-04
15127

Re: Migration de plugin - Besoin d'un coup de main svp...

<!-- BEGIN No_Confirm_Group -->

          <!-- END No_Confirm_Group -->

=Ancien moteur de template...

Nouveau moteur...
http://smarty.net/manual/fr/language.fu … ptions.php


Vincent -« Plus vidéaste averti que photographe amateur... »
La galerie - Le blog   

Piwigo est une application libre de gestion de photos en ligne.

Hors ligne

#3 2009-04-03 17:28:06

nicolas
Former Piwigo Team
2004-12-30
1566

Re: Migration de plugin - Besoin d'un coup de main svp...

foreach est ton ami. Inspire toi de template qui font le même genre de choses.


Donnez du peps à vos tags
Laissez vos visiteurs vous aidez à tagger vos images avec user_tags

Hors ligne

#4 2009-04-03 17:40:25

VDigital
Former Piwigo Team
Montpellier (FR)
2005-05-04
15127

Re: Migration de plugin - Besoin d'un coup de main svp...

Alors http://smarty.net/manual/fr/language.fu … oreach.php

C'est vrai que j'ai eu un cas où {html_options} ne me convenait pas car je voulais un keyword qu'il ne génère pas... Je ne sais plus lequel (title ou alt ...) et donc je l'ai généré moi-même avec un foreach...


Vincent -« Plus vidéaste averti que photographe amateur... »
La galerie - Le blog   

Piwigo est une application libre de gestion de photos en ligne.

Hors ligne

#5 2009-04-03 18:44:40

Eric
Former Piwigo Team
VALENCE (FR)
2005-03-25
4579

Re: Migration de plugin - Besoin d'un coup de main svp...

Mais bien sur ! Le nouveau moteur !!

J'ai appliqué {html_options} et çà va déjà un peu mieux. Mais j'ai encore des soucis car j'ai l'impression que la requête ne remonte pas les valeurs demandées à moins que çà ne soit le template qui ne les affiche pas.

Je vais essayer de m'inspirer d'un plugin qui utilise ce système... Me reste le trouver.

Merci pour le coup de main !

Hors ligne

#6 2009-04-03 18:58:12

VDigital
Former Piwigo Team
Montpellier (FR)
2005-05-04
15127

Re: Migration de plugin - Besoin d'un coup de main svp...

Quel est le tpl qui pourrait nous lister les groupes...
/admin/template/goto/user_.......tpl

Quel est le php qui pourrait me servir d'exemple pour affecter les différentes valeurs...
/admin/user_.......php

// Filter group options
$template->assign('group_options', $groups);
$template->assign('group_selected',
    isset($_GET['group']) ? $_GET['group'] : '');


Vincent -« Plus vidéaste averti que photographe amateur... »
La galerie - Le blog   

Piwigo est une application libre de gestion de photos en ligne.

Hors ligne

#7 2009-04-04 22:38:47

Eric
Former Piwigo Team
VALENCE (FR)
2005-03-25
4579

Re: Migration de plugin - Besoin d'un coup de main svp...

Je pense avoir compris le principe de {html_options} et je l'ai mis en application dans mon code. Avec succès pour ce qui est d'afficher la liste des groupes d'utilisateurs dispo.

La difficulté (pour moi, pauvre erre du php) est de faire en sorte que le nom d'un groupe soit "selected" s'il est présent dans la conf du plugin. Voici comment je vois la chose :

- Le code php :

Code:

$groups[-1] = '---------';

/* recherche des groupes en bdd  */
$query = '
SELECT id, name
  FROM '.GROUPS_TABLE.'
  ORDER BY name ASC
;';
$result = pwg_query($query);

while ($row = mysql_fetch_array($result))
{
  $groups[$row['id']] = $row['name'];
}

/* initialisation template */
foreach ($groups as $group_id => $group_name)
{
  $selected = (isset($conf_UserAdvManager[5]) and $conf_UserAdvManager[5] == $group_id) ?
    'selected="selected"' : '';
    $template->assign(
      'No_Confirm_Group',
      array(
        'group_options'=> $groups,
        'group_selected' => $selected
        )
      );
}

- Le template :

Code:

{html_options name="UserAdvManager_No_Confirm_Group" options=$No_Confirm_Group.group_options selected=$No_Confirm_Group.group_selected}

Avec çà, j'ai bien ma liste de groupes mais après sélection d'un item puis validation du formulaire d'enregistrement des valeurs, je retrouve toujours $groups[-1] en "selected" par défaut et non ce qu'il y a dans la table de conf du plugin (j'ai vérifié, l'id du groupe sélectionné est bien en base de données).

Cà fait des heures que je tourne en rond, à m'arracher les cheveux pour trouver ce qui cloche...

Désolé de faire le balour sur une question qui peut paraitre aussi simpliste. Je ne demande pas la solution toute faite mais une piste (je suis partisan de "la main dans le camboui pour apprendre").

Hors ligne

#8 2009-04-04 23:01:54

P@t
Ex Equipe Piwigo
Nice
2007-06-13
5695

Re: Migration de plugin - Besoin d'un coup de main svp...

Code:

$groups[-1] = '---------';
$selected = -1;

/* recherche des groupes en bdd  */
$query = '
SELECT id, name
  FROM '.GROUPS_TABLE.'
  ORDER BY name ASC
;';
$result = pwg_query($query);

while ($row = mysql_fetch_array($result))
{
  $groups[$row['id']] = $row['name'];
  if (isset($conf_UserAdvManager[5]) and $conf_UserAdvManager[5] == $row['id'])
  {
    $selected = $row['id'];
  }
}

$template->assign(
  'No_Confirm_Group',
    array(
      'group_options'=> $groups,
      'group_selected' => $selected
    )
  );

Dernière modification par P@t (2009-04-04 23:03:47)


P@t

Hors ligne

#9 2009-04-04 23:25:23

Eric
Former Piwigo Team
VALENCE (FR)
2005-03-25
4579

Re: Migration de plugin - Besoin d'un coup de main svp...

Merci P@t ! Cà marche beaucoup mieux !

Cà ne m'était pas venu à l'esprit d'initialiser $selected :-(

Hors ligne

#10 2009-04-05 00:02:15

P@t
Ex Equipe Piwigo
Nice
2007-06-13
5695

Re: Migration de plugin - Besoin d'un coup de main svp...

Le problème, ce n'était pas l'initialisation de $selected, mais plutot la valeur que tu lui assignais!


P@t

Hors ligne

  •  » Plugins
  •  » Migration de plugin - Besoin d'un coup de main svp...

Pied de page des forums

Propulsé par FluxBB

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