Jak dodać próbnik zakresu czasu do formularza adminhtml w Magento 2?


9

Na stronach devdocs Magento 2 znajduje się przykład selektora zakresu czasu . wprowadź opis zdjęcia tutaj Ale nie mogę znaleźć żadnych przykładów dodawania go w formularzu zaplecza do tworzenia / edycji niestandardowego modelu. Czy ktoś ma pomysł, jak to zrobić?

Mam też pytanie, jak zapisać go w bazie danych mysql . Czy ten selektor potrzebuje 2 pól („od” i „do”) do przechowywania wprowadzonego czasu?


Oto link do dodawania uiComponents devdocs.magento.com/guides/v2.3/ui_comp_guide/howto/... To jest w tym samym wierszu , utwórz atrybuty do zapisania w db, utwórz xml do wyświetlenia.
djfordz

@jurgen, czy kiedykolwiek znalazłeś rozwiązanie tego problemu?
fmsthird

Nie, nie współpracuję już z Magento2
jurgen

Odpowiedzi:


0

Spróbuj tego,

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

Utwórz pole w bazie danych, aby zapisać wartości do iz wartości.

W pliku kontrolera

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

Próbowałem tego wcześniej. Ten kod dodaje dwa pola czasowe ustawione pionowo. Jeśli potrzebuję 7 zakresów czasowych (na każdy dzień tygodnia), wygląda to bardzo niewygodnie. Chciałem umieścić go co najmniej w jednej linii, ale bardzo pożądane jest, aby było dokładnie tak, jak na powyższym obrazku. Moim zdaniem ten selektor zakresu czasu istnieje tylko we wzorcach projektowych Magento 2 i nie ma jeszcze implementacji. Na razie zrobiłem to za pomocą pojedynczego pola tekstowego i Próbnika zakresu dat Bootstrap, dostosowałem go, aby wyświetlał tylko zakres czasu. Wynik Zapisuję w DB w formacie tekstowym (na przykład „10: 00-15: 00”), który pasuje do moich zadań.
jurgen
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.