Je veux ajouter un nouveau champ en tant que date / heure dans la section de la page CMS lors de l'ajout d'une nouvelle page, j'ai trouvé que magento utilisant le composant d'interface utilisateur pour lui, donc après avoir creusé, je pouvais ajouter le champ de date en utilisant le code ci-dessous mais pas en mesure d'ajouter le champ de date / heure. Quelqu'un peut-il m'aider?
Code pour ajouter un champ de date:
<field name="start_date">
<argument name="data" xsi:type="array">
<item name="config" xsi:type="array">
<item name="dataType" xsi:type="string">string</item>
<item name="label" xsi:type="string" translate="true">Go Live Start Date</item>
<item name="formElement" xsi:type="string">date</item>
<item name="source" xsi:type="string">page</item>
<item name="sortOrder" xsi:type="number">21</item>
<item name="dataScope" xsi:type="string">start_date</item>
<item name="validation" xsi:type="array">
<item name="required-entry" xsi:type="boolean">true</item>
</item>
</item>
</argument>
</field>
Fichier que nous devons remplacer pour atteindre:
vendor/magento/module-cms/view/adminhtml/ui_component/cms_block_form.xml
magento2
uicomponent
ui-form
datetime
MagentoDev
la source
la source
Réponses:
Pour ajouter le sélecteur dateTime, vous devez utiliser la directive suivante dans le fichier xml:
La chose importante est l'
showsTime
option.Le résultat devrait ressembler à ceci:
Si vous souhaitez déboguer l'élément UI - utilisez cette commande dans la console du navigateur (sur votre page):
Il renvoie votre
date
élément avec toutes les options initiales et toutes les fonctions possibles:Vous pouvez les utiliser lorsque vous définissez l'élément (à l'intérieur du xml).
Comme info supplémentaire:
L' élément
date
(aussidateTime
) peut être trouvé ici:dans les fichiers statiques:
La classe élément-date (objet) a une méthode
prepareDateTimeFormats
, où l'option importanteshowsTime
est vérifiée:la source
DateTime
élément affiche toujours la date..timepicker()
hh:mm:ss
deHH:mm:ss
la Componet UI, sinon03:00:00 PM
sera devenu03:00:00 AM
, manque 12 heures et vous ne pouvez pas enregistrer le temps de PM dans la table de base de données.J'espère que cette réponse donne une idée de ce qui vous manque
J'ai ajouté le composant UI du champ date-heure via php (cela fonctionne bien)
comparer à votre fichier xml toutes les valeurs sont présentes sauf date_format et time_format afin que vous puissiez essayer de définir les deux valeurs dans votre fichier xml
pour plus de détails, veuillez vous référer à ce code source complet
la source
source
mon nom personnalisé? Quelles sont les exigences ici?