Come aggiungere il selettore intervallo di tempo al modulo adminhtml in Magento 2?


9

Nelle pagine devdocs di Magento 2 c'è un esempio di selezione intervallo di tempo . inserisci qui la descrizione dell'immagine Ma non riesco a trovare alcun esempio di come aggiungerlo nel mio modulo di backend per la creazione / modifica del modello personalizzato. Qualcuno ha idea di come farlo?

Inoltre, ho una domanda su come salvarlo nel database mysql . Questo selettore richiede 2 campi ("da" e "a") per memorizzare l'ora inserita?


Ecco un link su come aggiungere uiComponents devdocs.magento.com/guides/v2.3/ui_comp_guide/howto/… È lungo le stesse linee, crea gli attributi da salvare in db, crea l'xml da visualizzare.
Djfordz,

@jurgen hai mai trovato una soluzione per questo?
fmsthird,

No, non lavoro più con Magento2
jurgen il

Risposte:


0

Prova questo,

Sotto 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')
            ]
        );

Creare il campo nel database per salvare i valori da e verso.

Nel file del controller,

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

Ci ho provato prima. Questo codice aggiunge due campi temporali posizionati verticalmente. Se ho bisogno di 7 selettori di intervallo di tempo (per ogni giorno della settimana) sembra molto ingombrante. Volevo posizionarlo almeno in una riga, ma è molto desiderabile che sia esatto come nella foto sopra. La mia opinione è che questo selettore di intervallo di tempo esiste solo nei modelli di progettazione di Magento 2 e non ha ancora implementato. Per ora l'ho realizzato utilizzando il campo di testo singolo e il Selettore intervallo date Bootstrap, personalizzato per mostrare solo l'intervallo di tempo. Risultato Salvo nel DB in formato testo (ad esempio "10: 00-15: 00") adatto alle mie attività.
Jurgen,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.