Re: [Galette-devel] Carte Adhérent : afficher dynamic field

[ Thread Index | Date Index | More lists.galette.eu/devel Archives ]


Bonjour,

Comme je ne peux pas marcher, je me re-penche sur mon problème ... lol

----- Mail original -----
> De: "Johan Cwiklinski" <johan@xxxxxxxx>
> À: devel@xxxxxxxxxxxxxxxx
> Envoyé: Lundi 6 Février 2017 18:42:10
> Objet: Re: [Galette-devel] Carte Adhérent : afficher dynamic field
> 
> Salut,
> 
> Le 06/02/2017 à 15:13, f.lassave@xxxxxxx a écrit :
> 
> > J'ai l'impression que je ne suis pas loin avec la "public function
> > getFields($form_name, $item_id, $quote)" qui se trouve dans
> > "DynamicFields.php" ...
> > 
> > Or, pour l'utiliser, il me faut mettre "use
> > Galette\Entity\DynamicFields;", en début du fichier
> > "carte_adherent.php" ?
> 
> Oui ; voir http://php.net/manual/fr/language.namespaces.php
> 
> > Ensuite, si je comprends bien (?), cette fonction me retourne un
> > tableau avec deux valeurs ?
> 
> Non, elle retourne un tableau à deux dimensions (un tableau de
> tableaux).
> 
> Dans ajouter_adherent.php, on peut voir cet appel :
> $dyn_fields->getFields('adh', $member->id, false);
> 
> Donc, oui, je suppose que c'est bien ce que tu cherches à faire.
> 

J'ai copié, dans "carte_adhérent.php", les fonctions utilisées par "voir_adherent.php" :

"$dyn_fields = new DynamicFields();
	$stmt['dyn'] = $dyn_fields->getFields('adh', $id_adh, true);
	$disabled['dyn'] = array();
	$dynamic_fields = $dyn_fields->prepareForDisplay(
		'adh',
		$stmt['dyn'],
		$disabled['dyn'],
		0
	);
	$dfi = $dynamic_fields[2][choices];"

En faisant : 
"echo print_r($dfi);"

J'obtiens :
"Array ( [0] => N/A [1] => Blanche [2] => Blanche/Jaune [3] => Jaune [4] => Jaune/Orange [5] => Orange [6] => Orange/Verte [7] => Verte [8] => Verte/Bleu [9] => Bleu [10] => Bleu/Marron [11] => Violet [12] => Marron [13] => Noire (1er DAN) [14] => Noire (2eme DAN) [15] => Noire (3eme DAM) ) 1"

Mais là, je bloque ... 

Comment aller chercher l'information correspondant à celle de l'adhérent ?
Qui pourrait ressembler à :
"$dfi = $dynamic_fields[2][choices][$grade]; //où $grade est l'id de la table 'galette_field_contents_4'"

> > Autre méthode qui me taraude : ne pourrais-je pas faire une requête
> > SQL pour remonter la valeur désirée ? Si c'est possible, quelle
> > serait la syntaxe appropriée ?
> 
> Beh... La requête est éxécutée par getFields() ; suffit de voir le
> log
> debug dans lequel les requêtes exécutées sont stockées en mode debug.
> 

J'ai, du coup, essayé de faire une requête SQL "spécifique", mais, autant je pense avoir intégré la syntaxe MySQL (qui ne fonctionne plus !?), autant je me perds dans la syntaxe Zend db ...
Et le "query()", qui me permettrait d’interpréter ma requête, ne semble pas fonctionner ...

Un idée ?

Merci ! ;)
@++
Fred 



--
Galette development - http://galette.eu/

List documentation: https://listengine.tuxfamily.org/lists.galette.eu/devel/


Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/