¿Cómo agregar un selector de rango de tiempo al formulario adminhtml en Magento 2?


9

En las páginas devdocs de Magento 2 hay un ejemplo de selector de rango de tiempo . ingrese la descripción de la imagen aquí Pero no puedo encontrar ningún ejemplo de cómo agregarlo en mi formulario de back-end para crear / editar modelos personalizados. ¿Alguien tiene alguna idea de cómo hacer esto?

Además, tengo una pregunta sobre cómo guardarlo en la base de datos mysql . ¿Este selector necesita 2 campos ("desde" y "hasta") para almacenar la hora ingresada?


Aquí hay un enlace a cómo agregar uiComponents devdocs.magento.com/guides/v2.3/ui_comp_guide/howto/… Es en la misma línea, cree los atributos para guardar en db, cree el xml para mostrar.
djfordz

@jurgen, ¿alguna vez encontraste una solución para esta?
fmsthird

No, ya no trabajo con Magento2
jurgen

Respuestas:


0

Prueba esto,

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

Cree el campo en la base de datos para guardar los valores ay desde.

En el archivo del controlador,

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

He intentado esto antes. Este código agrega dos campos de tiempo posicionados verticalmente. Si necesito 7 recolectores de rango de tiempo (para cada día de la semana) se ve muy engorroso. Quería colocarlo al menos en una línea, pero muy deseable para que sea exacto como en la imagen de arriba. Mi opinión es que este selector de rango de tiempo solo existe en los patrones de diseño de Magento 2 y aún no tiene implementación. Por ahora lo hice usando un campo de texto único y el Selector de rango de fechas Bootstrap, lo personalicé para mostrar solo el rango de tiempo. Resultado lo guardo en DB en formato de texto ("10: 00-15: 00", por ejemplo) que se adapta a mis tareas.
jurgen
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.