utwórz atrybut daty i godziny dla produktu w magento 2

11

Próbowałem utworzyć atrybut dla produktu, który ma być wyświetlanym kalendarzem daty i godziny i który powinien być przechowywany w bazie danych tylko jako format daty i godziny. Walczyłem z tym bardzo dużo, ale bez powodzenia. Czy możesz mi pomóc ... to jest mój skrypt

$ eavSetup-> addAttribute (-> addAttribute (
        \ Magento \ Katalog \ Model \ Produkt :: ENTITY,:: ENTITY ,
        „xyz_start_time”,„xyz_start_time” ,
        [[
        „grupa” => „xyz”,„grupa” => „xyz” ,  
        „type” => „datetime”,„type” => „datetime” ,  
        „backend” => '',„backend” => '' ,  
        „frontend” => '',„frontend” => '' ,  
        „label” => „Czas rozpoczęcia”,„label” => „Czas rozpoczęcia” ,  
        „input” => „date”,„input” => „date” ,  
        „class” => '',„class” => '' ,  
        „source” => '',„source” => '' ,  
        'global' => \ Magento \ Catalog \ Model \ ResourceModel \ Eav \ Attribute :: SCOPE_GLOBAL,'global' => \ Magento \ Catalog \ Model \ ResourceModel \ Eav \ Attribute :: SCOPE_GLOBAL , 
        „widoczne” => prawda,„widoczne” => prawda ,  
        „wymagane” => fałszywe,„wymagane” => fałsz ,  
        „user_defined” => true ,  
        „default” => ,  
        „searchable” => false ,  
        „filterable” => false ,  
        „porównywalne” => fałsz ,  
        'visible_on_front' => false ,  
        'used_in_product_listing' => true ,  
        „niepowtarzalny” => fałsz ,  
        „Apply_to” => „prosty, konfigurowalny, wirtualny, pakiet, do pobrania”  
        ]
        );

$eavSetup->addAttribute( \Magento\Catalog\Model\Product::ENTITY, 'xyz_end_time', [ 'group' => 'xyz', 'type' => 'datetime', 'backend' => '', 'frontend' => '', 'label' => 'End Time', 'input' => 'date', 'class' => '', 'source' => '', 'global' => \Magento\Catalog\Model\ResourceModel\Eav\Attribute::SCOPE_GLOBAL, 'visible' => true, 'required' => false, 'user_defined' => true, 'default' => '', 'searchable' => false, 'filterable' => false, 'comparable' => false, 'visible_on_front' => false, 'used_in_product_listing' => true, 'unique' => false, 'apply_to' => 'simple,configurable,virtual,bundle,downloadable' ] );


Tworzy datepicker z datą, która nie pokazuje godziny.

szef Shankar
źródło
Cześć Shankar, Czy utworzyłeś atrybut Data i czas?
Priya Ponnusamy
1
Proszę zobaczyć moją odpowiedź na podobny problem tutaj: magento.stackexchange.com/questions/174840/…
Mageinn
3
Możliwy duplikat Magento 2 - Jak dodać składnik interfejsu DateTime
Siarhey Uchukhlebau

Odpowiedzi:

2

Jednym z możliwych rozwiązań jest użycie modyfikatorów. Musisz zdefiniować modyfikator w Vendor \ Module \ etc \ adminhtml \ di.xml, a następnie sam utworzyć modyfikator w Vendor \ Module \ Ui \ DataProvider \ Product \ Form \ Modifier \ Datetime.php . Modyfikator powinien ustawić konfigurację czasu dla atrybutu.

Więcej informacji można znaleźć w tej odpowiedzi: Magento 2 Utwórz datę z atrybutem Czas dla produktu

Mageinn
źródło
0

Jest to błąd związany z magento2. To pole jest w rzeczywistości datetime, jednak selektor daty to tylko data bez godziny. Jako szybkie obejście można użyć interfejsu API do ustawienia daty i godziny. W przeciwnym razie będziesz musiał zastąpić narzędzie do wyboru daty lub plik Magento w poszukiwaniu błędu w github.

awavi
źródło