Как добавить средство выбора временного диапазона в форму adminhtml в Magento 2?


9

На страницах devdocs Magento 2 есть пример выбора диапазона времени . введите описание изображения здесь Но я не могу найти какие-либо примеры того, как добавить его в мою внутреннюю форму для создания / редактирования пользовательской модели. У кого-нибудь есть идеи, как это сделать?

Кроме того, у меня есть вопрос о том, как сохранить его в базе данных MySQL . Нужно ли этому сборщику 2 поля («от» и «до») для хранения введенного времени?


Вот ссылка на то, как добавить uiComponents devdocs.magento.com/guides/v2.3/ui_comp_guide/howto/… В том же духе, создайте атрибуты для сохранения в БД, создайте xml для отображения.
djfordz

@jurgen вы когда-нибудь находили решение для этого?
fmsthird

Нет, я больше не работаю с Magento2
Юрген

Ответы:


0

Попробуй это,

Под 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')
            ]
        );

Создайте поле в базе данных, чтобы сохранить значения от и до.

В файле контроллера,

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

Я пробовал это раньше. Этот код добавляет два временных поля, расположенных вертикально. Если мне нужно 7 сборщиков времени (на каждый день недели), это выглядит очень громоздко. Я хотел поместить его хотя бы в одну строку, но очень желательно, чтобы он был точным, как на картинке выше. Мое мнение таково, что этот инструмент выбора временного диапазона существует только в шаблонах проектирования Magento 2 и еще не имеет реализации. Пока что я сделал это, используя одно текстовое поле и Bootstrap Date Range Picker, настроив его так, чтобы он отображал только временной диапазон. Результат я сохраняю в БД в текстовом формате (например, «10: 00-15: 00»), который подходит для моих задач.
Юрген
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.