Wie füge ich dem Adminhtml-Formular in Magento 2 eine Zeitbereichsauswahl hinzu?


9

Auf den Devdocs-Seiten von Magento 2 finden Sie ein Beispiel für die Zeitbereichsauswahl . Geben Sie hier die Bildbeschreibung ein Ich kann jedoch keine Beispiele dafür finden, wie ich es in meinem Backend-Formular zum Erstellen / Bearbeiten eines benutzerdefinierten Modells hinzufügen kann . Hat jemand eine Idee, wie das geht?

Außerdem habe ich eine Frage, wie man es in der MySQL-Datenbank speichert . Benötigt dieser Picker 2 Felder ("von" und "bis"), um die eingegebene Zeit zu speichern?


Hier ist ein Link zum Hinzufügen von uiComponents devdocs.magento.com/guides/v2.3/ui_comp_guide/howto/…. Erstellen Sie die Attribute, die in db gespeichert werden sollen , und erstellen Sie die anzuzeigende XML.
Djfordz

@jurgen hast du jemals eine lösung für diese gefunden?
3.

Nein, ich arbeite nicht mehr mit Magento2
jurgen

Antworten:


0

Versuche dies,

Unter app\code\Namespace\Module\Block\Adminhtml\Custom\Edit\Form.php

$fieldset->addField(
            'from',
            'time',
            [
                'name' => 'from',
                'label' => __('From'),
                'title' => __('From'),
                'required' => true,
                'note' => __('From Timer')
            ]
        );

$fieldset->addField(
            'to',
            'time',
            [
                'name' => 'to',
                'label' => __('To'),
                'title' => __('To'),
                'required' => true,
                'note' => __('To Timer')
            ]
        );

Erstellen Sie das Feld in der Datenbank, um die Zu- und Ab-Werte zu speichern.

In der Controller-Datei

public function saveData()
{
   $data = $this->getRequest()->getPostValue();
   $model = $this->_objectManager->create('Namespace\Module\Model\Custom');
   $model->setData($data);
   $model->save();
}

Ich habe es früher versucht. Dieser Code fügt zwei vertikal positionierte Zeitfelder hinzu. Wenn ich 7 Zeitbereichs-Picker benötige (für jeden Wochentag), sieht es sehr umständlich aus. Ich wollte es mindestens in einer Zeile platzieren, aber es wäre sehr wünschenswert, es genau wie auf dem Bild oben zu haben. Meiner Meinung nach existiert dieser Zeitbereichswähler nur in Magento 2-Entwurfsmustern und ist noch nicht implementiert. Im Moment habe ich es mit einem einzelnen Textfeld und der Bootstrap-Datumsbereichsauswahl erstellt und so angepasst, dass nur der Zeitbereich angezeigt wird. Ergebnis Ich speichere in der Datenbank im Textformat (z. B. "10: 00-15: 00"), das für meine Aufgaben geeignet ist.
Jürgen
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.