2008-12-25 9 views
1

Je personnalise le calendrier dans l'application Work Effort où je dois limiter le nombre de champs affichés lors de l'ajout d'un nouvel événement (type d'événement - EVENT). J'ai modifié le formulaire EditWorkEffort dans le WorkEffortForms.xml pour ignorer les champs que je ne veux pas afficher. J'utilise l'attribut use-when pour vérifier si les touches de contexte workeffort, workEffortId est null et workEffortTypeId est EVENT. Si les conditions ci-dessus sont vraies, j'ignore le champ en utilisant la balise ignorée. Sinon, les champs sont affichés tels qu'ils étaient avant, c'est-à-dire lorsque le nouveau workeffort est créé pour une nouvelle tâche (type d'événement - TASK) ou lorsqu'un nouvel effort de travail (type d'événement - DISPONIBLE) est créé.OFBiz Work Effort Personnalisation du calendrier

Maintenant, la logique ci-dessus me donne le résultat souhaité dans le cas d'un nouvel événement (type d'événement - événement). Mais quand j'ajoute une nouvelle tâche (type d'événement - Tâche) ou un nouvel effort de travail (type d'événement - Disponible) alors tous les champs de l'entité WorkEffort sont affichés (ce qui est correct) mais la disposition est déformée (ce qui est mon problème). Quand j'ai vérifié la source html finale générée, je vois qu'un colspan = 4 est ajouté au html td pour les champs correspondants partout où j'ai utilisé use-when tag.

J'espère avoir expliqué mon problème. J'ai besoin de corriger le problème de mise en page. Et puis-je faire la bonne chose pour ma personnalisation ou y a-t-il une meilleure façon de le faire?

Répondre

1

Si vous souhaitez que les champs ne s'affichent pas mieux, utilisez la balise <ignore>, ils ne seront donc jamais affichés. Si vous voulez toujours utiliser 'usewhen', observez les paramètres 'position' qui peuvent facilement devenir confus.

Si vous regardez également l'option 'trier', vous pouvez afficher les champs dans un ordre particulier.

Questions connexes