Chcę dodać nowe pole jako datę / godzinę w sekcji strony CMS podczas dodawania nowej strony, zauważyłem, że magento używa do tego UI Component, więc po kopaniu mogłem dodać pole daty, używając poniższego kodu, ale nie mogłem dodać pola daty / godziny. Czy ktoś może w tym pomóc.
Kod pola daty dodania:
<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>
Plik, który musimy przesłonić, aby osiągnąć:
vendor/magento/module-cms/view/adminhtml/ui_component/cms_block_form.xml
magento2
uicomponent
ui-form
datetime
MagentoDev
źródło
źródło
Odpowiedzi:
Aby dodać selektor dateTime, należy użyć następnej dyrektywy w pliku xml:
Ważną rzeczą jest
showsTime
opcja.Wynik powinien wyglądać następująco:
Jeśli chcesz debugować element interfejsu użytkownika - użyj tego polecenia w konsoli przeglądarki (na swojej stronie):
Zwraca
date
element ze wszystkimi początkowymi opcjami i wszystkimi możliwymi funkcjami:Możesz ich użyć podczas definiowania elementu (wewnątrz xml).
Jako dodatkowe informacje:
Element
date
(równieżdateTime
) można znaleźć tutaj:w plikach statycznych:
Klasa (obiekt) date-element ma metodę
prepareDateTimeFormats
, w którejshowsTime
sprawdzana jest ważna opcja :źródło
DateTime
zawsze wyświetla datę..timepicker()
hh:mm:ss
sięHH:mm:ss
w UI CompoNet, w przeciwnym razie03:00:00 PM
będzie stała03:00:00 AM
, brak 12 godzin i nie można zapisać czas PM w tabeli bazy danych.Mam nadzieję, że ta odpowiedź daje pewne wyobrażenie o tym, czego brakuje
Dodałem składnik UI pola daty i godziny przez php (działa dobrze)
porównaj z plikiem xml wszystkie wartości są obecne z wyjątkiem date_format i time_format, więc możesz spróbować ustawić obie wartości w pliku xml
Aby uzyskać więcej informacji, zapoznaj się z pełnym kodem źródłowym
źródło
source
swoją niestandardową nazwę? Jakie są tutaj wymagania?