Je veux afficher le timepicker dans mon formulaire UiComponent
Comme Magento Docs montre les variations qu'ils fournissent timepicker:
Je veux cela en utilisant UiComponent dans mon formulaire.
Remarque: Vous devez afficher l'heure du programme afin qu'aucune date ne soit nécessaire.
Référence vérifiée: Comment ajouter un sélecteur de plage de temps au formulaire adminhtml dans Magento 2? (Mais son bloc d'utilisation, je veux utiliser UiComponent)
magento-2.1
uicomponent
time
Ronak Chauhan
la source
la source
Réponses:
Vous devez "créer" * votre propre composant d'interface utilisateur. Vous pouvez le faire en étendant le composant d'interface utilisateur Date.
# 1 Ajoutez le XML à votre formulaire
Ajoutez le champ au jeu de champs. Dans cet exemple, le composant que nous allons créer est appelé
time
. Notez que vous pouvez déclarer untemplate
dans le XML suivant. Cependant, cela ne fera vraiment aucun bien car c'est le modèle XHTML qui encapsulera le modèle Knockout qui fait le rendu réel. Il existe d'autres nœuds que vous pouvez déclarer ici comme la validation.# 2 Créez le composant UI
Quelques notes sur le Javascript ci-dessus:
elementTmpl
n'est pas nécessaire. Cependant, si vous souhaitez personnaliser le modèle (actuellementmodule-ui/view/base/web/templates/form/element/date.html
), créez simplement votre propre modèle et référencez-le avecelementTmpl
.Il y a plus d'options pour l'entrée. Vous pouvez en savoir plus à leur sujet: http://trentrichardson.com/examples/timepicker/#tp-options . Dans le code, il y a une liste de toutes les valeurs par défaut ici:
/lib/web/jquery/jquery-ui-timepicker-addon.js
Résultat final:
definitions.xml
. Cependant, vous pouvez les étendre avec un minimum d'effort. (Et, s'il y a un moyen, faites-le moi savoir).la source
Vous pouvez simplement utiliser ce code xml pour le même résultat que ci-dessus:
Résultat:
la source