Ich möchte beim Hinzufügen einer neuen Seite ein neues Feld als Datum / Uhrzeit in den CMS-Seitenabschnitt einfügen. Ich habe festgestellt, dass Magento die UI-Komponente für dieses Feld verwendet. Nach dem Durchsuchen konnte ich das Datumsfeld mit dem folgenden Code hinzufügen, aber kein Datum / Uhrzeit-Feld hinzufügen. Kann mir jemand weiterhelfen.
Code für das Feld zum Hinzufügen des Datums:
<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>
Datei, die wir überschreiben müssen, um Folgendes zu erreichen:
vendor/magento/module-cms/view/adminhtml/ui_component/cms_block_form.xml
magento2
uicomponent
ui-form
datetime
MagentoDev
quelle
quelle
Antworten:
Um die DateTime-Auswahl hinzuzufügen, sollten Sie die nächste Direktive in der XML-Datei verwenden:
Wichtig ist die
showsTime
Option.Das Ergebnis sollte folgendermaßen aussehen:
Wenn Sie das Benutzeroberflächenelement debuggen möchten, verwenden Sie diesen Befehl in der Browserkonsole (auf Ihrer Seite):
Es gibt Ihr
date
Element mit allen anfänglichen Optionen und allen möglichen Funktionen zurück:Sie können sie verwenden, wenn Sie das Element definieren (in XML).
Als zusätzliche Info:
Das
date
(auchdateTime
) Element finden Sie hier:in den statischen Dateien:
Die Datumselementklasse (Objekt) hat eine Methode
prepareDateTimeFormats
, bei der die wichtige OptionshowsTime
markiert ist:quelle
DateTime
Element immer das Datum darstellt..timepicker()
hh:mm:ss
umHH:mm:ss
in der Benutzeroberfläche Componet, sonst03:00:00 PM
wird wurde03:00:00 AM
, fehlen 12 Stunden und Sie können nicht speichern Sie die Zeit der Uhr in der Datenbanktabelle.Ich hoffe, diese Antwort gibt eine Vorstellung davon, was Sie vermissen
Ich habe die UI-Komponente des Datum / Uhrzeit-Feldes über PHP hinzugefügt (es funktioniert einwandfrei)
Im Vergleich zu Ihrer XML-Datei sind alle Werte außer Datumsformat und Zeitformat vorhanden, sodass Sie versuchen können, die beiden Werte in Ihrer XML-Datei festzulegen
Weitere Details finden Sie in diesem vollständigen Quellcode
quelle
source
meinen benutzerdefinierten Namen ändern ? Welche Voraussetzungen gibt es hier?