13.6.3.14 Doc::getCustomTitle()
La méthode getCustomTitle
permet de définir le titre du document.
13.6.3.14.1 Description
string getCustomTitle ( void )
La méthode getCustomTitle
permet de surcharger la méthode de composition du
titre par défaut des documents, et de définir sa propre méthode de composition
du titre.
Par défaut, le titre est composé en concaténant la valeur des attributs
déclarés avec la caractéristique in_title
.
13.6.3.14.1.1 Avertissements
Dans les rapports, la colonne titre
est recalculée à l'aide de
cette méthode. La particularité des rapports est que la liste des documents
utilisée pour afficher son rapport est composée de document incomplets.
Un document incomplet ne contient qu'un sous ensemble des données du document. Dans le cas du rapport, il ne contient que les données à afficher. Par conséquent, si la composition du titre fait appel à des données non présentées, il sera affiché de manière partielle.
Il est possible de prendre en compte ce cas particulier en vérifiant le statut du document.
public function getCustomTitle() { if ($this->doctype === 'I') { // incomplete document return $this->title; // Titre original } else { // Doing special title return $this->myComplexDynamicTitle(); } }
13.6.3.14.2 Liste des paramètres
Aucun.
13.6.3.14.3 Valeur de retour
La méthode retourne une chaîne de caractères qui est le titre du document.
13.6.3.14.4 Erreurs / Exceptions
Aucune.
13.6.3.14.5 Historique
13.6.3.14.5.1 Release 3.2.5
La méthode getCustomTitle
remplace la méthode précédemment nommée
getSpecTitle
.
L'utilisation de getSpecTitle
est obsolète depuis la version 3.2.5 de
dynacase-core.
13.6.3.14.6 Exemples
-
Exemple #1
namespace Facturation; class ArchiveFacture extends \Dcp\Family\Dir { /* * Compose le titre avec la valeur de l'attribut `ref_client` et * l'`id` du document. Ex. : "ACMECorp-1234" */ public function getCustomTitle() { return sprintf( "%s-%s", $this->getAttributeValue(\Dcp\AttributeIdentifiers\ArchiveFacture::ref_client), $this->getPropertyValue('id'), ); } }
13.6.3.14.7 Notes
Lors de la construction d'un rapport, le document est incomplet et les valeurs d'attributs sont partiellement présents en fonction des colonnes affichées. Si le titre est dépendant d'un attribut qui n'est pas présent, le titre présenté dans le rapport peut être incomplet.
Pour s'assurer que le titre présenté est correct, il est possible de retourner le titre "courant" lorsque le document est incomplet comme le montre l'exemple suivant.
public function getCustomTitle() { if ($this->doctype === 'I') { // incomplete document return $this->title; } else { // Doing special title $mySpecialTitle = sprintf("REF/%d/%d/%s", $this->initid, $this->revision, $this->getAttributeValue(\Dcp\AttributeIdentifiers\ArchiveFacture::ref_client)); return $mySpecialTitle; } }