Eu quero adicionar um novo campo como data e hora na seção de página do CMS ao adicionar uma nova página, e descobri que o Magento estava usando o componente UI, portanto, depois de cavar, consegui adicionar o campo de data usando o código abaixo, mas não o campo de data e hora. Alguém pode ajudar nisso.
Campo Código para adicionar data:
<field name="start_date">
<argument name="data" xsi:type="array">
<item name="config" xsi:type="array">
<item name="dataType" xsi:type="string">string</item>
<item name="label" xsi:type="string" translate="true">Go Live Start Date</item>
<item name="formElement" xsi:type="string">date</item>
<item name="source" xsi:type="string">page</item>
<item name="sortOrder" xsi:type="number">21</item>
<item name="dataScope" xsi:type="string">start_date</item>
<item name="validation" xsi:type="array">
<item name="required-entry" xsi:type="boolean">true</item>
</item>
</item>
</argument>
</field>
Arquivo que precisamos substituir para obter:
vendor/magento/module-cms/view/adminhtml/ui_component/cms_block_form.xml
magento2
uicomponent
ui-form
datetime
MagentoDev
fonte
fonte
Respostas:
Para adicionar o seletor dateTime, você deve usar a próxima diretiva dentro do arquivo xml:
O importante é a
showsTime
opção.O resultado deve ficar assim:
Se você deseja depurar o elemento da interface do usuário - use este comando dentro do console do navegador (na sua página):
Ele retorna seu
date
elemento com todas as opções iniciais e todas as funções possíveis:Você pode usá-los quando definir o elemento (dentro do xml).
Como informações adicionais:
O elemento
date
(tambémdateTime
) pode ser encontrado aqui:nos arquivos estáticos:
A classe de elemento de data (objeto) possui método
prepareDateTimeFormats
, onde a opção importanteshowsTime
é marcada:fonte
DateTime
elemento sempre renderiza a data..timepicker()
hh:mm:ss
paraHH:mm:ss
no UI Componet, caso contrário,03:00:00 PM
ficará03:00:00 AM
faltando 12 horas e você não poderá economizar o tempo do PM na tabela do banco de dados.Espero que esta resposta dê uma idéia do que você sente falta
Eu adicionei o componente de interface do usuário do campo de data e hora através do php (funciona bem)
compare com seu arquivo xml, todos os valores estão presentes, exceto date_format e time_format, para que você possa tentar definir os dois valores no arquivo xml
para mais detalhes, consulte este código fonte completo
fonte
source
para o meu nome personalizado? Quais são os requisitos aqui?