13.6.3.39 Doc::viewattr()

Cette méthode permet d'ajouter les clefs correspondantes aux attributs du document pour la composition d'une vue de consultation spécifique.

13.6.3.39.1 Description

void viewattr ( string $target     = "_self", 
                  bool $ulink      = true, 
                  bool $abstract   = false, 
                  bool $viewhidden = false)

Cette méthode ajoute pour chaque attribut pouvant contenir une valeur :

  • une clef contenant la valeur affichable de l'attribut,
  • une clef pour le libellé de l'attribut.
  • une clef pour indiquer si la valeur de l'attribut est vide ou non.

La clef de valeur est composée du préfixe V_ suivi de l'identifiant de l'attribut en majuscule. La valeur affichable est fournie par la méthode DocHtmlFormat::getHtmlValue(). Les attributs de type array ont aussi leur clef générée.

La clef de libellé est composée du préfixe L_ suivi de l'identifiant de l'attribut en majuscule. Le libellé est dépendant de la locale de l'utilisateur. La valeur du libellé est fournie par la méthode Doc::getLabel().

La clef de nullité de la valeur est composée du préfixe S_ suivi du nom de l'identifiant de l'attribut en majuscule. Cette clef vaut false si la valeur brute de l'attribut est vide (chaine ""). Elle vaut true dans le cas contraire.

13.6.3.39.1.1 Avertissements

Les attributs de type tab, frame et menu n'ont pas de clef générée.

13.6.3.39.2 Liste des paramètres

(string) target
Indique la cible des hyperliens pour les attributs qui en disposent.
Valeur spéciale :
  • ooo : Si on utilise les clefs pour une composition de template ODT. Dans ce cas, les valeurs en XML sont retournées.
(bool) ulink
Indique si les hyperliens doivent être générés. Si target égal à ooo, aucun lien n'est généré quelque soit la valeur de ulink.
Si true, alors les hyperliens sont générés
Si false, alors les hyperliens ne sont pas générés
(bool) abstract
Si true, alors seuls les attributs "résumé" sont affichés
Si false, alors la caractéristique "résumé" n'est pas prise en compte.
(bool) viewhidden
Si true, les attributs en visibilité H sont affichés.
Si false, les attributs en visibilité H ne sont pas affichés.
Les attributs en visibilité I et O ne sont pas affichés. Leur clefs sont générés vides.

13.6.3.39.3 Valeur de retour

void.

13.6.3.39.4 Erreurs / Exceptions

Aucune.

13.6.3.39.5 Historique

Aucun.

13.6.3.39.6 Exemples

Soit la famille MY_ANIMAL qui possède les attributs suivants :

nom type
AN_NOM text
AN_PHOTO image
AN_NAISSANCE date

Fichier de la classe associées à la famille :

namespace MyTest;
class My_animal extends \Dcp\Family\Document
{
  /**
   * @templateController view original photo
   */
  public function viewPhoto($target="_self", $ulink=true, $abstract=false) {
    $this->viewAttr($target, $ulink, $abstract);
  } 
}

Template viewPhoto.html :

<h1>[TEXT:My name is] : [V_AN_NOM]</h1>
<p>[TEXT:My birthday date is] : <strong>[V_AN_NAISSANCE]</strong></p>
[IF S_AN_PHOTO]<img class="photo" src="[V_AN_PHOTO]"/>[ENDIF S_AN_PHOTO]
[IFNOT S_AN_PHOTO]<p>[TEXT:No photo]</p>[ENDIF S_AN_PHOTO]

Résultat :

<h1>My name is : Rotor</h1>
<p>My birthday date is : <strong>03/08/2012</strong></p>
<img class="photo" src="file/1419/41/an_photo/-1/1387_IMG_1684AFC2.jpg?cache=no&inline=no"/>

Rendu HTML :

Usage de Doc::viewAttr()

Figure 85. Usage de Doc::viewAttr()

13.6.3.39.7 Notes

Exemple de retour pour les valeurs formatées en fonction du type de l'attribut.

Type Format Multiple Valeur brute Valeur HTML
text Un Un
text Éléonore Éléonore
longtext Et\nLa suite en été... Et<br />
La suite en &eacute;t&eacute;&lt;b&gt;...
money 2.54 2,54
double 3.1415926 3.1415926
int 1 1
date 2013-04-20 20/04/2013
time 01:00:00 01:00
timestamp 2013-09-30 10:00:00 30/09/2013 10:00
image image/jpeg; charset=binary | 42| 1387_IMG_1684AFC2.jpg file/1419/41/an_photo/-1/1387_IMG_1684AFC2.jpg?cache=no&inline=no
file application/vnd.oasis.opendocument.spreadsheet| 1330| fdl.ods <a onmousedown="document.noselect=true;" title="34Ko" target="_blank" type="application/vnd.oasis.opendocument.spreadsheet" href="file/5388/1330/fi_file/-1/fdl.ods?cache=no&inline=no"><img class="mime" needresize=1 src="Images/mime-spreadsheet.png">&nbsp;fdl.ods</a>
docid TST_MY_FAMILY 5384 <a oncontextmenu="popdoc(event,'?&amp;app=FDL&amp;action=OPENDOC&amp;mode=view&amp;id=5384&amp;latest=Y');return false;" documentId="5384" class="relation" style="background-image:url(resizeimg.php?img=Images%2Fdoc.png&size=14)" target="_self" href="?&amp;app=FDL&amp;action=OPENDOC&amp;mode=view&amp;id=5384&amp;latest=Y">Zéro</a>
account 6394 <a oncontextmenu="popdoc(event,'?&amp;app=FDL&amp;action=OPENDOC&amp;mode=view&amp;id=6394&amp;latest=Y');return false;" documentId="6394" class="relation" style="background-image:url(resizeimg.php?img=Images%2iuser.png&size=14)" target="_self" href="?&amp;app=FDL&amp;action=OPENDOC&amp;mode=view&amp;id=6394&amp;latest=Y">John Doe</a>
enum a|One,b|Two,c|Three a One
color #f3f <span style="background-color:#f3f">#f3f</span>
enum a|A,b|B,c|C X a\nb\nc A<BR>B<BR>C
text X Un\nDeux Un<BR>Deux
money X 3 3,00
double X -54 -54
date X 2013-04-20 20/04/2013
time X 10:00 10:00
timestamp X 2013-09-30 10:00 30/09/2013 10:00
enum a|A,b|B,c|C X a A
color X #ff33ff\n#45e098 <span style="background-color:#ff33ff">#ff33ff</span><BR><span style="background-color:#45e098">#45e098</span>
longtext X Un
Deux\nTrois
Quatre
Un<br />
Deux<BR>Trois<br />
Quatre
int X 1\n2\n3 1<BR>2<BR>3
double X \n\n <BR><BR>
text [%s] Document Un [Document Un]
longtext Et\nLa suite... Et<br />
La suite...
money %s € 2.54 2,54 €
double %.03f 3.1415926 3.142
int %03d 1 001
date %A %e %B %Y 2013-04-20 samedi 20 avril 2013
time %kh %Mmin %Ss 01:00:00 1h 00min 00s
timestamp %A %e %B %Y %Hh %Mmin %Ss 2013-09-30 10:00:00 lundi 30 septembre 2013 10h 00min 00s
text [%s] X Un\nDeux [Un]<BR>[Deux]
money %s $ 3 3,00 $
double %.03f -54 -54.000
date %A %e %B %Y 2013-04-20 samedi 20 avril 2013

13.6.3.39.8 Voir aussi

×