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;
   }
} 

13.6.3.14.8 Voir aussi

×