13.6.2.9 Doc::getCustomSearchValues()
Hameçon (ou hook) utilisé par la méthode Doc::Store()
.
Cette méthode permet d'ajouter des informations supplémentaires pour la recherche globale.
Les valeurs stockées dans les colonnes svalues
et fulltext
sont les
données brutes des attributs recherchables (option
searchcriteria).
3.2.21Les valeurs affichées des attributs sont aussi enregistrées. Pour une relation l'identifiant sera stocké ainsi que son titre, pour la date le format iso sera enregistré ainsi que le format dans les locales définies, le nom du jour et le nom du mois dans les différentes traductions disponibles et les nombres composant la date. Pour les énumérés la clef ainsi que les traductions des labels sont enregistrés.
13.6.2.9.1 Description
protected function string[] getCustomSearchValues ()
Cette méthode doit retourner un tableau de chaîne de caractères contenant des mots supplémentaires. Ces mots servent à retrouver le document en utilisant la recherche globale.
13.6.2.9.1.1 Avertissements
Ce hook n'est pas déclenché pour les documents temporaire. Ce hook est déclenché
par la méthode store
en cas de création. En cas de modification,
il est déclenché uniquement si une valeur d'attribut a changé.
13.6.2.9.2 Liste des paramètres
Aucun.
13.6.2.9.3 Valeur de retour
Un tableau contenant les chaînes contenant les mots à ajouter.
13.6.2.9.4 Erreurs / Exceptions
Aucune.
13.6.2.9.5 Historique
Aucun.
13.6.2.9.6 Exemples
Dans la famille MyFamily, Un administrateur modifie le code du jour chaque jour. Ce message doit être enregistré dans les valeurs recherchables afin de réaliser des recherches par code. Le code étant enregistrés à chaque modification.
Soit la famille suivante :
BEGIN | Ma famille | MYFAMILY | ||||||
---|---|---|---|---|---|---|---|---|
CLASS | My\MyFamily | |||||||
// | idattr | idframe | label | T | A | type | ord | vis |
ATTR | MY_IDENTIFICATION | Identification | N | N | frame | 10 | W | |
ATTR | MY_RELATION | MY_IDENTIFICATION | Relation | Y | N | docid("MYFAMILY") | 20 | W |
ATTR | MY_DATE | MY_IDENTIFICATION | Date | N | N | date | 30 | W |
PARAM | MY_PARAMETERS | Paramètres | N | N | frame | 10 | W | |
PARAM | MY_CODE | MY_PARAMETERS | Code du jour | N | N | text | 20 | W |
END |
namespace My; use \Dcp\AttributeIdentifiers\MyFamily as MyAttributes; class MyFamily extends \Dcp\Family\Document { protected function getCustomSearchValues() { $customValues=parent::customSearchValue(); $customValues[]=$this->getFamilyParameterValue(MyAttributes::my_code); return $customValues; } }
Si my_relation="1234" (titre="Mon document lié"), my_date="2016-04-21", my_code="ATY67"
Alors les valeurs recherchables contiendront :
- 1234
- Mon document lié
- 2016-04-21
- 21/04/2016
- 21
- 04
- 2016
- 04/21/2016
- avril
- april
- jeudi
- thursday
- ATY67
13.6.2.9.7 Notes
En cas de famille héritée, il est nécessaire d'appeler l'hameçon du parent pour conserver les éventuelles valeurs ajoutées par les familles mères..