bon au final j'ai réussi à résoudre le problème :p
Il suffi de rajouter une ligne de code dans \core\filter_api.php
Normalement nous avons ca
Code: Select all
$t_textsearch_where_clause .= '( ' . db_helper_like( 'summary' ) .
' OR ' . db_helper_like( "$t_bug_text_table.description" ) .
' OR ' . db_helper_like( "$t_bug_text_table.steps_to_reproduce" ) .
' OR ' . db_helper_like( "$t_bug_text_table.additional_information" ) .
' OR ' . db_helper_like( "$t_bugnote_text_table.note" );
Pour changer et faire en sorte que la barre de recherche
Pour faire en sorte qu'elle recherche dans vos colonnes personnalisé Vous rajoutez à votre code :
Code: Select all
$t_textsearch_where_clause .= '( ' . db_helper_like( 'summary' ) .
' OR ' . db_helper_like( "$t_bug_text_table.description" ) .
' OR ' . db_helper_like( "$t_bug_text_table.steps_to_reproduce" ) .
' OR ' . db_helper_like( "$t_bug_text_table.additional_information" ) .
' OR ' . "($t_bug_table.id IN ( SELECT DISTINCT bug_id from " . db_get_table( 'mantis_custom_field_string_table' ) . " where value LIKE '%$c_search%'))"
Cette ligne de code ainsi rajouter cherchera dans toutes les données des colonnes que vous allez créer plus les numéros identifiant des bogues.
Si vous souhaitez chercher seulement dans vos colonnes personnalisé ce n'est pas compliqué vous retirer le ligne :
Code: Select all
$t_textsearch_where_clause .= '( ' . db_helper_like( 'summary' ) .
Ce qui cherchera que dans vos colonnes personnalisées.
Si vous voulez affiner les colonnes de recherche personnalisé, par exemple une colonnes avec le l’établissement où le Dogue ce trouve, ce n'est pas plus compliqué.
Il faut changer votre ligne de commande :
Code: Select all
' OR ' . "($t_bug_table.id IN ( SELECT DISTINCT bug_id from " . db_get_table( 'mantis_custom_field_string_table' ) . " where value LIKE '%$c_search%'))"
Pour la faire devenir ca :
Code: Select all
' OR ' . "($t_bug_table.id IN ( SELECT DISTINCT bug_id from " . db_get_table( 'mantis_custom_field_string_table' ) . " where value LIKE '%$c_search%' AND field_id = 2 ))"
Nous rajoutons que un " AND field_id = 2 " le 2 ce trouve dans votre base de donné qui est dans mon cas pgpMyadmin.
Quand vous allez dans votre BDD vous pourrez en déduire grave à la value a quelle colonne correspond votre field_ID. Quand ce sera fait changez le 2 du " AND field_id = 2 " par le field_id de la colonnes que vous souhaitez
Voili voilou l'espère que j'ai été plutôt claire dans mes explication et que cela pourra vous aider par la suite ( étant mon premier "tuto" j'ai fait de mon mieux )