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

P@t
2009-04-05 00:02:15

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

Eric
2009-04-04 23:25:23

Merci P@t ! Cà marche beaucoup mieux !

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

P@t
2009-04-04 23:01:54

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
    )
  );
Eric
2009-04-04 22:38:47

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").

VDigital
2009-04-03 18:58:12

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'] : '');

Eric
2009-04-03 18:44:40

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 !

VDigital
2009-04-03 17:40:25

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...

nicolas
2009-04-03 17:28:06

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

VDigital
2009-04-03 17:18:08

<!-- BEGIN No_Confirm_Group -->

          <!-- END No_Confirm_Group -->

=Ancien moteur de template...

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

Eric
2009-04-03 16:48:02

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 !

Pied de page des forums

Propulsé par FluxBB

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