Fil d'ariane sur objet externe

Fil d'ariane sur objet externe
0
Tags: #<Tag:0x00007f395341ed88>

Bonjour,

Dans mon menu j’ai plusieurs menus : Obj1, Obj2, ObjExt3.
Obj1 et Obj2 pointent des objets DB, et ObjExt3 pointe vers un objet externe.

Quand l’utilisateur clique sur Obj1 puis ObjExt3, le fil d’ariane affiche Obj1 > ObjExt3. Idem si Obj2 > ObjExt3.

Alors que si l’utilisateur navigue en Obj1 et Obj2 il n’y aura toujours que le Objx correspondant à la page en cours.

Nous avons remarqué quand nous passons par un objet externe nous retrouvons dans le fil d’ariane la page que nous avons précédemment visualisée.

Exemple dans la capture:
Obj 1 - Mes rencontres
ObjExt 3 - RIDA
menu_objext

Actuellement

  • L’accès par menu à un objet ré-initialise le fil d’ariane sur cette recherche/liste.
  • L’accès à un object externe ne fait qu’empiler l’objet au fil d’ariane

Il faudrait en effet que le comportement soit identique lorsqu’on part du menu, on va changer ça.

Je ne reproduis pas votre cas sur la UI responsive à jour, le fil d’ariane est bien réinitialisé que ce soit un objet interne ou externe ouvert depuis le menu.

Il n’est pas sensé non plus afficher la racine “Accueil” puisque on y revient depuis un click sur le logo.

Quel est le code de votre objet ? votre version ?

Bonjour,
Ci-dessous plus d’information.

Nos versions :
4.0 patch level P23b (database patch level P22)
4.0 patch level P22 (database patch level P22)

J’ai fait une vidéo sur une instance de test pour montrer sur la version 4.0 patch level P23b (database patch level P22).

  • testjs et testObject donc des ObjectDB
  • testbreadcrumb : object externe qui ne contient pas de code, juste une url ([EXPR:HTMLTool.getListURL(“ObjectInternal”, “”)])

Pour la racine “Accueil” ne pas en tenir compte, c’était un ajout de notre part.

Dans votre exemple ce n’est donc pas un objet externe en tant que tel (avec une méthode display et des resources web) mais juste une URL.

il faut spécifier le paramètre d’URL “nav=new” en second argument pour créer une nouvelle navigation, car sinon par défaut si vous ne mettez rien ce sera un “nav=add” par défaut.

Bonjour,

Le “nav=new” ne fonctionne pas, cela fait un ajout dans le fil d’ariane.

J’ai essayé 2 méthodes :

  • Directement dans l’url de l’objet externe
[EXPR:HTMLTool.getListURL("ObjectInternal", "nav=new")]
  • Dans le display de l’objet externe
type or paste code here

Mon instance est en version :

Simplicité version4.0 patch level P23 (database patch level P23)Built on2019-05-20 17:08 (revision 0a5b542a4f8ba9189d110db35ad034d791d2300a) for tomcat 8

Le code n’apparaît pas dans votre post.

Si l’objectif est d’afficher la liste d’un objet via le menu, c’est standard.
Il faut juste ajouter l’objet interne au menu sans passer par un objet externe.
Un objet peut être dans plusieurs menu/domaines.

HTMLTool.getListURL :
Cette URL de list (legacy) est juste wrappé pour compatibilité ascendante vers un $ui.displayList en front (one page), je ne sais pas si les paramètres (dont nav) sont wrappés.

Suite à analyse de l’URL liste, seuls les paramètres de filtrage sont wrappés (on peut ouvrir la liste avec des filtres “champ=x&champ2=y” dans l’URL), mais nav=add est en dur.

On va faire en sorte de wrapper le paramètre “nav” également pour les URL list et form.

1 Like

Merci pour la modification.

Le code que j’avais utilisé est le suivant :

return this.sendRedirect(HTMLTool.getListURL("myObject","nav=new"));

Dans la UI responsive il faut gérer ce genre de choses côté client par des appels JavaScript.

Le redirects HTTP sont un pattern old school hérité de la UI legacy et donc en fin de vie.

NB: une action serveur peut retourner un statement JavaScript client return this.javascript(...)