Extrafield et affichage dans les PDF

Bonjour à tous.
Je suis en train de personnaliser les certains document PDF, dont les fiches d’intervention.

  1. Dans mes fiches d’inter j’ai un Extrafield de type liste déroulante
  1. Dans mon fichier pdf_monpdf.modules.php
    J’ai ajouté tout ce qu’il faut au bon endroit pour afficher mon champs extrafield
    pour faire bref j’affiche bien

ce que je voudrai c’est afficher :

Voici mon code :

$extrafields = new ExtraFields($db);
$extralabels=$extrafields->fetch_name_optionals_label($object->table_element);
$object->fetch($rowid);
$object->fetch_optionals($rowid,$extralabels);
$value=$object->array_options['options_typeinter']

......
$pdf->MultiCell(190,5,("Type intervention : ".$value),0,'L',0);

Des idées ?

Salut,

Normalement tu as tout dans $extrafields.

Fait un print_r($extrafields->attributes);

Tu devrais trouver ton bonheur

Merci. J’y avais pensé, mais ca me renvois toujours « Array »

J’ai essayé plusieurs combinaisons :

...
				$value2=$extrafields->attribute;
...

est identique à

...
				$value2=$extrafields->attribute_label;
...

[code]
$value=$object->array_options[‹ options_typeinter ›];
$value2=$extrafields->attribute_label;

			$pdf->SetXY($this->marge_gauche, $tab_top);
			$pdf->MultiCell(190,5,$outputlangs->transnoentities("Description / Type intervention : ".$value." ".$value2." ".$extralabels),0,'L',0);[/code]

donne :

peut être du au type de extrafield

J’ai regardé la fonction

dans le fichier extrafiels.class.php

y’a un truc que je comprend pas :
elle devrai me renvoyer

return $array_name_label;

hors dans les différentes aide / wiki et argument on utilise

$object->fetch_optionals
et

$object->array_options qui lui renvois bien sur un select de la table finter.extrafield qui ne contient que rowid et fkrowid

C’est la que je cale quel argument dois-je passé à fetch_name_optionals_label pour récupérer les informations décrites dans l’en-tete de la fonction :

/**
 \* 	Load array this-\>attributes, or old this-\>attribute_xxx like attribute_label, attribute_type, ...
 *
 \* 	@param	string		$elementtype		Type of element ('adherent', 'commande', 'thirdparty', 'facture', 'propal', 'product', ...).
 \* 	@param	boolean		$forceload			Force load of extra fields whatever is option MAIN_EXTRAFIELDS_DISABLED. Deprecated. Should not be required.
 \* 	@return	array							Array of attributes keys+label for all extra fields.
 */

ça donne quoi ?

1 « J'aime »

[quote=« ksar, post:5, topic:29486 »]
ça donne quoi ?

si j ai bien lu

Bonjour,

Impossible, un print_r d’un tableau renvoi :
Example #1 print_r() example

<pre>

<?php $a = array ('a' =\> 'apple', 'b' =\> 'banana', 'c' =\> array ('x', 'y', 'z')); print_r ($a); ?\> The above example will output: Array ( [a] =\> apple [b] =\> banana [c] =\> Array ( [0] =\> x [1] =\> y [2] =\> z ) ) Source : https://www.php.net/manual/en/function.print-r.php

Bonsoir.

PM17 a bien lu le print_r renvois « Array » écrit comme ça en toute lettre.

en tout cas je perd pas espoir de comprendre les fonction du fichier extrafiels.class.php au pire je mettrai des if pour afficher les options en toute lettre.

J’avoue que ça me prends le chou et que je reviendrai dessus la semaine prochaine