Como adicionar o seletor de intervalo de tempo ao formulário adminhtml no Magento 2?


9

Nas páginas devdocs do Magento 2, há um exemplo de selecionador de intervalo de tempo . insira a descrição da imagem aqui Porém, não consigo encontrar nenhum exemplo de como adicioná-lo no meu formulário de back-end para criar / editar um modelo personalizado. Alguém tem alguma idéia de como fazer isso?

Além disso, eu tenho uma pergunta sobre como salvá-lo no banco de dados mysql . Esse seletor precisa de 2 campos ("de" e "para") para armazenar a hora inserida?


Aqui está um link para como adicionar uiComponents devdocs.magento.com/guides/v2.3/ui_comp_guide/howto/… É na mesma linha, crie os atributos para salvar em db, crie o xml para exibir.
precisa

@jurgen, você já encontrou uma solução para este?
precisa saber é o seguinte

Não, não trabalho mais com o Magento2
jurgen 18/04/19

Respostas:


0

Tente isso,

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

Crie o campo no banco de dados para salvar os valores de e para.

No arquivo do controlador,

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

Eu tentei isso antes. Este código adiciona dois campos de tempo posicionados verticalmente. Se eu precisar de 7 seletores de intervalo de tempo (para cada dia da semana), isso parecerá muito complicado. Eu queria colocá-lo pelo menos em uma linha, mas muito desejável que fosse exato, como na imagem acima. Minha opinião é que esse seletor de intervalo de tempo existe apenas nos padrões de design do Magento 2 e ainda não tem implementação. Por enquanto, eu o fiz usando um campo de texto único e o Selecionador de intervalo de datas do Bootstrap, personalizado para mostrar apenas o intervalo de tempo. Resultado Salvei no banco de dados em formato de texto ("10: 00-15: 00", por exemplo), adequado para minhas tarefas.
Jurgen
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.