Identifier le problème
Si vous inspectez le HTML, vous remarquerez une différence importante. Dans Tiki 27, votre champ de saisie avait des classes supplémentaires appliquées :
input id="customSearchBezeichnung" class="form-control ui-autocomplete-input" autocomplete="off"
Mais dans Tiki 29, ces attributs liés à l'autocomplétion sont absents :
input id="customSearchBezeichnung" class="form-control"
C'est votre premier indice que l'initialisation de l'autocomplétion ne fonctionne plus comme prévu.
Pourquoi cela se produit : le passage de Tiki de jQuery à Element Plus
À partir de Tiki 28, l'équipe de développement de Tiki a effectué un changement architectural majeur en remplaçant les composants d'interface utilisateur basés sur jQuery par Element Plus, une bibliothèque de composants Vue.js moderne. Cet effort de modernisation affecte plusieurs fonctionnalités, dont le système d'autocomplétion.
Le raisonnement derrière ce changement est logique : Vue.js et Element Plus offrent de meilleures performances, une accessibilité améliorée et une base de code plus maintenable pour l'avenir. Cependant, cela signifie également que le code JavaScript personnalisé écrit pour les anciennes versions de Tiki devra être mis à jour.
L'ancienne méthode jQuery .tiki("autocomplete", ...) a été abandonnée et remplacée par une nouvelle fonction globale autocomplete() qui utilise Vue.js en arrière-plan. Le point de terminaison backend a également changé, passant du contrôleur de services AJAX à un script dédié list-tracker_field_values_ajax.php pour l'autocomplétion des champs de tracker.
La solution
Si vous aviez un code d'autocomplétion comme celui-ci dans Tiki 27 :
{JQ()} $("#customSearchTRACKERFIELD_PERMANAME").tiki("autocomplete", "trackervalue", { fieldId: TRACKER_FIELD_ID }); {JQ}
Vous devez le mettre à jour vers la nouvelle syntaxe pour Tiki 29 :
{JQ()} autocomplete($("#customSearchTRACKERFIELD_PERMANAME")[0], "trackervalue", { fieldId: TRACKER_FIELD_ID }); {JQ}
Changements clés
| Tiki 27 (Ancien) | Tiki 29 (Nouveau) |
|---|---|
| $(selector).tiki("autocomplete", type, options) | autocomplete(element, type, options) |
| Objet jQuery | Élément DOM (utiliser 0) |
| Basé sur jQuery UI | Basé sur Element Plus / Vue.js |
Notes importantes
- Passez l'élément DOM directement en utilisant 0, et non l'objet jQuery
- Le paramètre type reste le même ("trackervalue", "pagename", "username", etc.)
- Pour les champs de tracker, continuez à utiliser { fieldId: YOUR_FIELD_ID } dans les options
- Assurez-vous que l'autocomplétion Element Plus est activée dans Admin → Fonctionnalités → Interface
- Vérifiez que votre champ de tracker a toujours l'option "Autocomplétion" définie sur "Oui" dans les paramètres du champ
Besoin d'aide pour votre mise à jour Tiki ?
La mise à jour de Tiki peut être complexe, surtout lorsque des changements majeurs affectent vos personnalisations. Même des modifications apparemment mineures comme cette mise à jour de l'autocomplétion peuvent prendre des heures à diagnostiquer et à corriger si vous ne savez pas où chercher.
Chez OpenSource Solutions, les experts en Tiki Wiki pour les PME et les grandes entreprises, nous sommes spécialisés dans Tiki Wiki CMS Groupware et avons aidé des organisations du monde entier à migrer, personnaliser et maintenir leurs installations Tiki avec succès. Notre équipe se tient informée de chaque version de Tiki, nous savons donc exactement à quels changements nous attendre et comment les gérer.
Que vous soyez confronté à des problèmes de mise à jour, que vous ayez besoin de développement personnalisé, de formation ou d'un support continu pour votre site Tiki, notre équipe d'experts est là pour vous aider à tirer le meilleur parti de votre investissement Tiki.
Ne laissez pas les problèmes techniques vous ralentir. Contactez-nous dès aujourd'hui pour une consultation gratuite et laissez-nous gérer vos défis Tiki afin que vous puissiez vous concentrer sur ce qui compte le plus : votre activité.