Widget permettant de lancer une recherche sur un dataset donné et d’en stocker une valeur choisie.

Edit me

Hérite de WidgetField.

Fonction

Rendu

Exemples d’utilisation

Exemple : Utilisation basique

La source de donnée utilisée par le Widget Autocomplete

 <dataquery editor_id="xvcxqqgfdx1655756258122" varset_name="auteurs" table_alias="auteurs" id="auteurs" range="20" mode="r" auto_add_record="false" table_name="{pj}_auteurs_data">
      <column_simple field_name="id_data" table_name="auteurs"/>
      <column_simple field_name="nom" table_name="auteurs"/>
      <search_on sql="{auteurs.nom} LIKE CONCAT('%',{recherche_auteurs},'%')" editor_id="xzfeyqkyhq1655756499976" is_custom="true">
        <field table_name="auteurs" field_name="nom" alias="auteurs.nom"/>
        <variable alias="recherche_auteurs" default="NULL">
          <entry type="param" name="recherche_auteurs"/>
        </variable>
      </search_on>
    </dataquery>

Bulk pour le Widget Autocomplete

<form_row>
  <label dataset="livres" field="id_auteurs" class="col-md-3"/>
  <value dataset="livres" field="id_auteurs" mode="rw">
    <option output="html" option_name="widget" value="WidgetAutocomplete"/>
    <option output="html" option_name="search_dataset" value="auteurs"/>
    <option output="html" option_name="value_field" value="id_data"/>
    <option output="html" option_name="display_field" value="nom"/>
    <option output="html" option_name="search_param_name" value="recherche_auteurs"/>
    <option output="html" option_name="min_nb_characters" value="4" />    
  </value>
</form_row>

Exemple : Recherche au sein d’un varset

Au sein d’un formulaire patient, rechercher un médecin pour stocker son ID dans la fiche patient.

Le varset patient

<varset name="patient" prefix="patient" type="std" label="Patient">
  <var uid="1" id="nom" type="string" default_label="Nom" default_short_label="Nom">
    <string length="50"/>
  </var>
  <var uid="2" id="prenom" type="string" default_label="Pr&#xE9;nom" default_short_label="Pr&#xE9;nom">
    <string length="255"/>
  </var>
  <var uid="3" id="id_medecin" type="fkey_varset" default_label="M&#xE9;decin">
    <fkey_varset varset_name="medecin"/>
  </var>
</varset>

Le varset médecin

<varset name="medecin" prefix="medecin" type="std" label="M&#xE9;decin">
  <var uid="1" id="nom" type="string" default_label="Nom" default_short_label="Nom">
    <string length="50"/>
  </var>
  <var uid="2" id="prenom" type="string" default_label="Pr&#xE9;nom" default_short_label="Pr&#xE9;nom">
    <string length="255"/>
  </var>
  <var uid="3" id="adresse" type="string" default_label="Adresse" default_short_label="Adresse">
    <string length="255"/>
  </var>
</varset>

Le formulaire Patient

<?xml version="1.0" encoding="UTF-8"?>
<form id="ogyhrwfwci15441725959">
  
  <!-- Définition des sources données -->
  <data_structure>
	
	<!-- Dataquery principal -->
	<dataquery id="patient" editor_id="main" table_name="{pj}_patient_data" varset_name="patient" table_alias="main">
	  <column_simple field_name="id_data" table_name="main"/>
	  <!-- Condition pour récupérer une fiche patient précise -->
	  <condition sql="{id_data}={param_id_data}">
		<field field_name="id_data" table_name="main" alias="id_data"/>
		<variable alias="param_id_data" default="NULL">
		  <entry type="param" name="id_data"/>
		</variable>
	  </condition>
	  <column_simple field_name="nom" table_name="main"/>
	  <column_simple field_name="prenom" table_name="main"/>
	  <!-- Colonne où sera stockée la valeur sélectionnée au moyen du WidgetAutocomplete -->
	  <column_simple field_name="id_medecin" table_name="main"/>
	</dataquery>
	
	<!-- Dataquery de recherche sur le varset medecin -->
	<dataquery id="recherche_medecin" table_name="{pj}_medecin_data" varset_name="medecin" table_alias="med">
	
	  <!-- Variable utilisée pour l'option value_field -->
	  <column_simple field_name="id_data" table_name="med"/>
	  
	  <!-- Variable calculée utilisée pour l'option display_field -->
	  <column sql="CONCAT_WS(' ', {nom}, {prenom})" alias="nom_prenom" type="string" length="100">
		<field table_name="med" field_name="nom" alias="nom"/>
		<field table_name="med" field_name="prenom" alias="prenom"/>
	  </column>
	  
	  <!-- Variable utilisée pour l'option display_field_comp -->
	  <column_simple field_name="adresse" table_name="med"/>
	  
	  <!-- Condition pour le rafraîchissement du dataset => conditionne la recherche en base de données.
	       Ici, signifie : "Je cherche un médecin dont le nom contient les lettres que je tape
	       dans le champ de recherche. -->
	  <search_on sql="{med.nom} LIKE CONCAT('%', {recherche_nom_medecin}, '%')">		
		<field table_name="med" field_name="nom" alias="med.nom"/>
		
		<!-- Variable permettant de récupérer la chaîne de caractère tapée dans le champ de recherche.
	             L'utilisateur peut choisir le nom de cette variable via l'option search_param_name -->
		<variable alias="recherche_nom_medecin" default="NULL">
		  <entry type="param" name="recherche_nom_medecin"/>
		</variable>		
	  </search_on>
	  
	</dataquery>
	
  </data_structure>
  <layout title="Patient" disabled="false">
	<group title="Identification du patient">
	  <form_row>
		<label dataset="patient" field="nom" />
		<value dataset="patient" field="nom" mode="rw"/>
	  </form_row>
	  <form_row>
		<label dataset="patient" field="prenom" />
		<value dataset="patient" field="prenom" mode="rw"/>
		<option output="html" option_name="strtoupper" value="true" />
	  </form_row>
	  <form_row editor_id="yidaennpgi15544781427">
		<label dataset="patient" field="id_medecin"/>
		<value dataset="patient" field="id_medecin" mode="rw">
		  <option output="html" option_name="widget" value="WidgetAutocomplete"/>
		  <option output="html" option_name="search_dataset" value="recherche_medecin"/>
		  <option output="html" option_name="value_field" value="id_data"/>
		  <option output="html" option_name="display_field" value="nom_prenom"/>
		  <option output="html" option_name="display_field_comp" value="adresse"/>
		  <option output="html" option_name="search_param_name" value="recherche_nom_medecin"/>
		  <option output="html" option_name="min_nb_characters" value="1" />
		  <option output="html" option_name="fa_suffix" value="fa-user"/>
		  <option output="html" option_name="nb_results_show" value="10" />
		  <option output="html" option_name="redirect_path_1" value="form/frame/get/sid/ogyhrwfwci1544172/nom_med/{recherche_nom_medecin}" />
		  <option output="html" option_name="redirect_label_1" value="Ajouter un médecin" />
		</value>
	  </form_row>
	</group>
	<form_row>
	  <box class="col-xs-6">
		<button action="exit" label="Exit"/>
	  </box>
	  <box class="col-xs-6 text-right">
		<button action="save" label="Save" class="btn-primary"/>
	  </box>
	</form_row>
  </layout>
</form>

Redirection vers le formulaire Médecin avec envoi de la chaîne de caractère de recherche

  1. Pour passer la chaîne de caractère de recherche en paramètre dans les liens de redirection, ajouter /nom_du_paramètre/{valeur passée à l’option search_param_name} au lien (voir exemple ci-dessous).
  2. Pour remplir un champ avec ce paramètre dans le formulaire ciblé par le lien de redirection, penser à ajouter l’attribut auto_add_record=”true” au dataquery cible (voir l’article Customs).
  3. Pour récupérer le paramètre dans le formulaire cible, voir l’exemple ci-dessous.

Le lien de redirection : form/frame/get/sid/id du formulaire medecin/nom du parametre/{valeur de l’option search_param_name}

Soit, en suivant l’exemple ci-dessus : “form/frame/get/sid/ogyhrwfwci1544172/nom_med/{recherche_nom_medecin}”

<form id="ogyhrwfwci1544172">
	<!-- Dataquery medecin -->
	<dataquery id="medecin" editor_id="main" table_name="{pj}_medecin_data" varset_name="medecin" table_alias="main" auto_add_record="true">
	  <column_simple field_name="id_data" table_name="main"/>
	  <condition sql="{id_data}={param_id_data}">
		<field field_name="id_data" table_name="main" alias="id_data"/>
		<variable alias="param_id_data" default="NULL">
		  <entry type="param" name="id_data"/>
		</variable>
	  </condition>
	  <column_simple field_name="nom" table_name="main"/>
	  <variables>
		<variable alias="param_nom_med" default="" target_column="nom">
		  <entry type="param" name="nom_med"/>
		</variable>
	  </variables>
	  <column_simple field_name="prenom" table_name="main"/>
	  <column_simple field_name="adresse" table_name="main"/>
	</dataquery>
  <!-- [..] -->
</form>

Exemple : Recherche au sein d’un dictionnaire

Au sein d’un formulaire patient, rechercher le nom d’une maladie via un dictionnaire “maladies”.

Le varset patient

<varset name="patient" prefix="patient" type="std" label="Patient">
  <var uid="1" id="nom" type="string" default_label="Nom" default_short_label="Nom">
    <string length="50"/>
  </var>
  <var uid="2" id="prenom" type="string" default_label="Pr&#xE9;nom" default_short_label="Pr&#xE9;nom">
    <string length="255"/>
  </var>
  <var uid="3" id="id_maladie" type="fkey_dico" default_label="Maladie">
	<fkey_dico dico_name="maladies"/>
  </var>
</varset>

Le formulaire Patient

<?xml version="1.0" encoding="UTF-8"?>
<form id="ogyhrwfwci15441725959">
  
  <!-- Définition des sources données -->
  <data_structure>
	
	<!-- Dataquery principal -->
	<dataquery id="patient" editor_id="main" table_name="{pj}_patient_data" varset_name="patient" table_alias="main">
	  <column_simple field_name="id_data" table_name="main"/>
	  <!-- Condition pour récupérer une fiche patient précise -->
	  <condition sql="{id_data}={param_id_data}">
		<field field_name="id_data" table_name="main" alias="id_data"/>
		<variable alias="param_id_data" default="NULL">
		  <entry type="param" name="id_data"/>
		</variable>
	  </condition>
	  <column_simple field_name="nom" table_name="main"/>
	  <column_simple field_name="prenom" table_name="main"/>
	  <!-- Colonne où sera stockée la valeur sélectionnée au moyen du WidgetAutocomplete -->
	  <column_simple field_name="id_maladie" table_name="main"/>
	</dataquery>
	
	<!-- Dataquery de recherche sur la table {pj}_dico_data qui contient tous les dictionnaires du projet -->
	<dataquery id="recherche_maladie" table_name="{pj}_dico_data" varset_name="dico" table_alias="dico_maladie">
	  
	  <!-- Variable utilisée pour le value_field -->
	  <column_simple field_name="id_data" table_name="dico_maladie"/>
	  
	  <!-- Variable calculée utilisée pour le display_field -->
	  <column sql="CONCAT({code},' - ', {label})" alias="code_label" type="string" length="100">
		<field table_name="dico_maladie" field_name="code" alias="code"/>
		<field table_name="dico_maladie" field_name="label" alias="label"/>
	  </column>
	  
	  <!-- Condition pour le rafraîchissement du dataset => conditionne la recherche en base de données.
		   Ici, signifie : "Je cherche un item de dico dont le code ou le libellé contient les lettres que je tape
		   dans le champ de recherche. -->
	  <search_on sql="{code} LIKE CONCAT('%', {recherche_nom_maladie}, '%') OR {label} LIKE CONCAT('%', {recherche_nom_maladie}, '%')">		
		<field table_name="dico_maladie" field_name="code" alias="code"/>
		<field table_name="dico_maladie" field_name="label" alias="label"/>
		
		<!-- Variable permettant de récupérer la chaîne de caractère tapée dans le champ de recherche.
	         L'utilisateur peut choisir le nom de cette variable via l'option search_param_name -->
		<variable alias="recherche_nom_maladie" default="NULL">
		  <entry type="param" name="recherche_nom_maladie"/>
		</variable>		
	  </search_on>
	  
	  <!-- La table {pj}_dico_data contenant tous les dictionnaires du projet, on applique une condition
		   sur le nom du dictionnaire qui nous intéresse. -->
	  <condition sql="{dico_name}='maladies'">
		<field field_name="dico_name" table_name="dico_maladie" alias="dico_name"/>
	  </condition>
	</dataquery>
	
  </data_structure>
  <layout title="Patient" disabled="false">
	<group title="Identification du patient">
	  <form_row>
		<label dataset="patient" field="nom" />
		<value dataset="patient" field="nom" mode="rw"/>
	  </form_row>
	  <form_row>
		<label dataset="patient" field="prenom" />
		<value dataset="patient" field="prenom" mode="rw"/>
	  </form_row>
	 <form_row editor_id="yidaennpgi144781427">
		<label dataset="patient" field="id_maladie"/>
		<value dataset="patient" field="id_maladie" mode="rw">
		  <option output="html" option_name="widget" value="WidgetAutocomplete"/>
		  <option output="html" option_name="search_dataset" value="recherche_maladie"/>
		  <option output="html" option_name="value_field" value="id_data"/>
		  <option output="html" option_name="display_field" value="code_label"/>
		  <option output="html" option_name="search_param_name" value="recherche_nom_maladie"/>
		  <option output="html" option_name="min_nb_characters" value="2" />
		  <option output="html" option_name="nb_results_show" value="5" />
		</value>
	  </form_row>
	</group>
	<form_row>
	  <box class="col-xs-6">
		<button action="exit" label="Exit"/>
	  </box>
	  <box class="col-xs-6 text-right">
		<button action="save" label="Save" class="btn-primary"/>
	  </box>
	</form_row>
  </layout>
</form>

Procédure via Epicraft

Pour une recherche sur un varset

1 - Ajouter une relation 1-N entre le varset cible (qui va récupérer l’information recherchée) et le varset au sein duquel la recherche est effectuée. Pour ce faire, se référer à l’article Comment exploiter une relation 1-N dans des formulaires ?.

2 - Ajouter la variable issue de la relation au dataquery principal.

3 - Ajouter une source de données libre sur la page et y insérer le xml correspondant au dataquery de recherche.

<dataquery id="recherche_medecin" table_name="{pj}_medecin_data" varset_name="medecin" table_alias="med">
	<column_simple field_name="id_data" table_name="med"/>
	<column sql="CONCAT_WS(' ', {nom}, {prenom})" alias="nom_prenom" type="string" length="100">
		<field table_name="med" field_name="nom" alias="nom"/>
		<field table_name="med" field_name="prenom" alias="prenom"/>
	</column>
	<column_simple field_name="adresse" table_name="med"/>

	<search_on sql="{med.nom} LIKE CONCAT('%', {recherche_nom_medecin}, '%')">		
		<field table_name="med" field_name="nom" alias="med.nom"/>
		<variable alias="recherche_nom_medecin" default="NULL">
			<entry type="param" name="recherche_nom_medecin"/>
		</variable>		
	</search_on>
</dataquery>

4 - Ajouter un Bulk à la page et lui appliquer une propriété personnalisée incluant le WidgetAutocomplete.

<form_row>
	<label dataset="patient" field="id_medecin"/>
	<value dataset="patient" field="id_medecin" mode="rw">
		<option output="html" option_name="widget" value="WidgetAutocomplete"/>
		<option output="html" option_name="search_dataset" value="recherche_medecin"/>
		<option output="html" option_name="value_field" value="id_data"/>
		<option output="html" option_name="display_field" value="nom_prenom"/>
		<option output="html" option_name="display_field_comp" value="adresse"/>
		<option output="html" option_name="search_param_name" value="recherche_nom_medecin"/>
		<option output="html" option_name="min_nb_characters" value="1" />
		<option output="html" option_name="fa_suffix" value="fa-user"/>
		<option output="html" option_name="nb_results_show" value="10" />
		<option output="html" option_name="redirect_path_1" value="form/frame/get/sid/ogyhrwfwci1544172/nom_med/{recherche_nom_medecin}" />
		<option output="html" option_name="redirect_label_1" value="Ajouter un médecin" />
	</value>
</form_row>

Pour une recherche sur un dictionnaire

1 - Ajouter une source de données libre sur la page et y insérer le xml correspondant au dataquery de recherche.

<dataquery id="recherche_maladie" table_name="{pj}_dico_data" varset_name="dico" table_alias="dico_maladie">
	<column_simple field_name="id_data" table_name="dico_maladie"/>
	<column sql="CONCAT({code},' - ', {label})" alias="code_label" type="string" length="100">
		<field table_name="dico_maladie" field_name="code" alias="code"/>
		<field table_name="dico_maladie" field_name="label" alias="label"/>
	</column>
	<search_on sql="{code} LIKE CONCAT('%', {recherche_nom_maladie}, '%') OR {label} LIKE CONCAT('%', {recherche_nom_maladie}, '%')">		
		<field table_name="dico_maladie" field_name="code" alias="code"/>
		<field table_name="dico_maladie" field_name="label" alias="label"/>
		<variable alias="recherche_nom_maladie" default="NULL">
			<entry type="param" name="recherche_nom_maladie"/>
		</variable>		
	  </search_on>
	  <condition sql="{dico_name}='maladies'">
		<field field_name="dico_name" table_name="dico_maladie" alias="dico_name"/>
	  </condition>
</dataquery>

2 - Ajouter un composant choix avec affichage en Radio Boutons sur la page.

3 - Sélectionner le dictionnaire désiré.

4 - Ajouter une propriété personnalisée de type “form.widget.value.option” sur le Widget afin de surcharger le choix avec un WidgetAutocomplete.

<option output="html" option_name="widget" value="WidgetAutocomplete"/>

5 - Ajouter une propriété personnalisée de type “form.widget.value.option” sur le Widget pour chacune des options du WidgetAutocomplete.

<option output="html" option_name="nom_de_l_option" value="valeur de l'option"/>

Le cas particulier d’un formulaire stocké sur disque (incompatiblité avec la balise “search_on”)

La balise search_on est en fait un raccourci pour simplifier l’écriture du dataquery de recherche. Pour reconstruire le dataquery avec une syntaxe compréhensible pour Voozanoo4, nous avons besoin de récupérer des informations dans la partie “layout” du formulaire (par exemple, le nom du champ et du dataset corespondant au WidgetAutocomplete), or, ces informations ne sont pas accessibles à ce moment-là. Il nous faut donc recharger le formulaire pour en extraire les informations nécessaires.

Dans le cas d’un formulaire sur disque, le problème est que l’emplacement du formulaire n’est pas non plus disponible lors de l’exécution du dataquery, ce qui rend impossible l’utilisation de la balise <search_on/>. Dans ce cas de figure, et toujours selon le même exemple, le dataquery de recherche ressemble donc à ceci :

<!-- Dataquery de recherche -->
<dataquery id="recherche_medecin" table_name="{pj}_medecin_data" varset_name="medecin" table_alias="med">
  <column_simple field_name="id_data" table_name="med"/>
  <column_simple field_name="nom" table_name="med"/>
  <column_simple field_name="adresse" table_name="med"/>
  <!-- Variable calculée utilisée pour le display_field -->
  <column sql="CONCAT_WS(' ', {nom}, {prenom})" alias="nom_prenom" type="string" length="100">
	<field table_name="med" field_name="nom" alias="nom"/>
	<field table_name="med" field_name="prenom" alias="prenom"/>
  </column>
  <!-- Condition pour le rafraîchissement du dataset
ATTENTION : ne pas modifier le nom de {param_value} -->
  <condition sql="IF({id_medecin} IS NULL AND {param_value} IS NULL, {nom_med} LIKE CONCAT('%', {recherche_nom_medecin}, '%'), ({id_data}={id_medecin} OR {id_data}={param_value}))">
	<field field_name="id_data" table_name="med" alias="id_data"/>
	<field field_name="nom" table_name="med" alias="nom_med"/>
	<!-- Variable correspondant à la chaîne de caractère tapée dans l'input -->
	<variable alias="recherche_nom_medecin" default="NULL">
	  <entry type="param" name="recherche_nom_medecin"/>
	</variable>
	<!-- Variable permettant de récupéré l'id_medecin s'il est déjà enregistré lors de l'arrivée sur un fiche -->
	<variable alias="id_medecin" default="NULL">
	  <entry type="dataset" name="patient" field="id_medecin" row="current"/>
	</variable>
	<!-- Variable utilisée pour rafraîchir le dataset lorsqu'un résultat a été sélectionné. 
ATTENTION : Conserver cette variable et ne pas en changer le nom ou l'alias. -->
	<variable alias="param_value" default="NULL">
	  <entry type="param" name="param_value"/>
	</variable>
  </condition>
</dataquery>

A NOTER

  • Le WidgetAutocomplete hérite du WidgetField, les attributs et options du WidgetField peuvent donc s’appliquer, à l’exception :
    • des options on_key_up_refresh, on_key_up_timeout, random_order, n_first_values, n_last_values
    • de l’attribut size (non appliqué)
  • Pour être compatible avec le WidgetAutocomplete, l’attribut field n’accepte pas les variables de type primary_key, fkey_varset_ext, fkey_dico_ext, fkey_sys_dico_ext. Si une variable de ce type est attribuée au field, le widget se mettra en erreur (voir WidgetErrors).
  • Pour effectuer une recherche de type “mot commençant par”, la requête sql pour la condition à appliquer au dataquery de recherche est la suivante : “{med.nom} LIKE CONCAT({recherche_nom_medecin}, ‘%’)
  • Si plusieurs WidgetAutocompletes sont présents sur une même page, chaque widget doit avoir son propre dataquery de recherche pour que chacun fonctionne correctement.
  • Le champ passé à l’option value_field ne doit contenir que des valeurs uniques et non nulles. Dans le cas contraire, le widget ne saura pas retrouver la fiche correspondant à la valeur stockée.

Attributs

Les attributs nécessaires au bon fonctionnement du widget sont signalés par un astérisque.

Ce widget hérite de fonctionnalités issues d’un autre widget. Consultez la documentation dédiée au WidgetField pour vérifier si d’autres attributs sont disponibles.

L’attribut size (non appliqué) n’est pas paramétrable pour le WidgetAutocomplete.

Options

Les options nécessaires au bon fonctionnement du widget sont signalées par un astérisque.

Ce widget hérite de fonctionnalités issues d’un autre widget. Consultez la documentation dédiée au WidgetField pour vérifier si d’autres options sont disponibles.

search_dataset*

Option obligatoire. Dataset utilisé pour peupler les résultats. Le widget se mettra en ereur si : l’option n’est pas renseignée, si valeur passée à l’option n’est pas une string, si le dataset n’existe pas

  • Version : >=2.26

  • Valeurs possibles : string

<option output="html" option_name="search_dataset" value="{search_dataset_value}" />

display_field

Champ du dataset qui contient la valeur d’affichage. Ce champ est utilisé pour la valeur affichée dans le champ autocomplete et dans les titres des résultats. Si aucun champ n’est précisé, la valeur affichée sera celle contenue dans value_field. Le widget se mettra en erreur si : la valeur passée à l’option n’est pas une string ou si le field n’existe pas au sein du dataset search_dataset.

  • Version : >=2.26

  • Valeurs possibles : string

<option output="html" option_name="display_field" value="{display_field_value}" />

display_field_comp

Champ du dataset qui contient les informations complémentaires à afficher dans les résultats. Le widget se mettra en erreur si : la valeur passée à l’option n’est pas une string ou si le field n’existe pas au sein du dataset search_dataset.

  • Version : >=2.26

  • Valeurs possibles : string

<option output="html" option_name="display_field_comp" value="{display_field_comp_value}" />

min_nb_characters

Nombre de caractères à partir duquel des recherches sont lancées. Le widget se mettra en erreur si : la valeur passée à l’option ne correspond pas à un nombre ou si ce nombre est inférieur ou égal à zéro.

  • Version : >=2.26

  • Valeurs possibles : string représentant un nombre entier

  • Valeur par défaut : 3

<option output="html" option_name="min_nb_characters" value="3" />

nb_results_show

Nombre de résultats à afficher. Le widget se mettra en erreur si : la valeur passée à l’option ne correspond pas à un nombre ou si ce nombre est inférieur ou égal à zéro.

  • Version : >=2.26

  • Valeurs possibles : string

  • Valeur par défaut : 5

<option output="html" option_name="nb_results_show" value="5" />

redirect

Paramètres des liens de redirection. Le widget se mettra en erreur si : le champ correspondant au WidgetAutocomplete est nécessaire à l’enregistrement du formulaire (soit, dans le varset, <var […] mandatory=”true”/>), si une option redirect_label_n ou redirect_always_show_n a été précisée mais qu’aucun redirect_path_n correspondant n’a été précisé et si n manque à l’une des options groupées redirect.

  • Version : null

  • Valeurs possibles : string

redirect_always_show_n

Si la valeur est à true, le lien de redirection est proposé que le widget ait des résultats ou non. Si des résultats sont trouvés, le lien sera proposé en fin de liste. Le widget se mettra en erreur si : la valeur passée à l’option ne correspond pas à un booléen (true, false, 0 ou 1).

  • Version : >=2.26

  • Valeurs possibles : booléen ou string représentant un booléen

<option output="html" option_name="redirect_always_show_n" value="false" />

redirect_label_n

Libellé de la redirection. Si aucun libellé n’est précisé, ce sera l’url qui sera affichée. Le widget se mettra en erreur si : la valeur passée à l’option n’est pas une string.

  • Version : >=2.26

  • Valeurs possibles : string

<option output="html" option_name="redirect_label_n" value="{redirect_label_n_value}" />

redirect_path_n

Lien de redirection. Le widget se mettra en erreur si : la valeur passée à l’option n’est pas une string.

  • Version : >=2.26

  • Valeurs possibles : string (lien complet, ex : https://epiconcept.fr, ou module/controleur/action/paramètres)

<option output="html" option_name="redirect_path_n" value="{redirect_path_n_value}" />

search_param_name

Nom du paramètre à utiliser dans le dataquery qui retourne les résultats de recherche. Le widget se mettra en erreur si : la valeur passée à l’option n’est pas une string.

  • Version : >=2.26

  • Valeurs possibles : string

  • Valeur par défaut : search_string

<option output="html" option_name="search_param_name" value="search_string" />

value_field

Champ du dataset spécifié via l’option search_dataset contenant la valeur à stocker. Le widget se mettra en erreur si : la valeur passée à l’option n’est pas une string ou si le field n’existe pas au sein du dataset search_dataset.

  • Version : >=2.26

  • Valeurs possibles : string

  • Valeur par défaut : id_data

<option output="html" option_name="value_field" value="id_data" />