0
我正在創建一個模塊,並且我想在magento 2中的cms塊中創建一個自定義日期字段。通過UI組件我創建了一個兩個日期字段。在magento 2中的CMS塊中的自定義日期字段
<form xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:module:Magento_Ui:etc/ui_configuration.xsd">
<fieldset name="general">
<field name="custom_block_from">
<argument name="data" xsi:type="array">
<item name="config" xsi:type="array">
<item name="sortOrder" xsi:type="number">20</item>
<item name="label" xsi:type="string" translate="true">From</item>
<item name="dataType" xsi:type="string">string</item>
<item name="formElement" xsi:type="string">date</item>
<item name="source" xsi:type="string">block</item>
<item name="dataScope" xsi:type="string">custom_block_from</item>
<item name="validation" xsi:type="array">
<item name="validate-date" xsi:type="boolean">true</item>
</item>
<item name="options" xsi:type="array">
<item name="dateFormat" xsi:type="string">yyyy-MM-dd</item>
</item>
</item>
</argument>
</field>
<field name="custom_block_to">
<argument name="data" xsi:type="array">
<item name="config" xsi:type="array">
<item name="sortOrder" xsi:type="number">21</item>
<item name="label" xsi:type="string" translate="true">To</item>
<item name="dataType" xsi:type="string">string</item>
<item name="formElement" xsi:type="string">date</item>
<item name="source" xsi:type="string">block</item>
<item name="dataScope" xsi:type="string">custom_block_to</item>
<item name="validation" xsi:type="array">
<item name="validate-date" xsi:type="boolean">true</item>
</item>
</item>
</argument>
</field>
</fieldset>
</form>
通過升級腳本我也加入CMS塊表中的兩個colummn在Magento這是
public function upgrade(SchemaSetupInterface $setup, ModuleContextInterface $context)
{
$installer = $setup;
$installer->startSetup();
if ($installer->tableExists('cms_block')) {
$table = $installer->getTable('cms_block');
$connection = $installer->getConnection();
if (version_compare($context->getVersion(), '1.0.2') < 0) {
$connection->addColumn(
$table,
'custom_block_from',
[
'type' => Table::TYPE_DATE,
'nullable' => true,
'comment' => 'date'
]
);
$connection->addColumn(
$table,
'custom_block_to',
[
'type' => Table::TYPE_DATE,
'nullable' => true,
'comment' => 'date'
]
);
}
$installer->endSetup();
}
}
現在兩個字段在CMS塊中創建的,但是當我保存的CMS阻止日期字段值不保存在數據庫中。但是,當我通過SQL更改日期字段比該字段從數據庫中獲取值,並顯示在CMS塊編輯和保存再次日期字段後轉爲0000-00-00。
請如果有人幫我這個。 非常感謝