2015-12-17 31 views
0

我决定写一个Sylius的新功能。现在,产品具有availableOn参数,但在某些情况下(如销售音乐会的门票,发生在特定日期),availableTo也是非常有用的。 所以我添加变量数据库Sylius - Enitity变量值不以表格的形式加载

<field name="availableTo" column="available_to" type="datetime" nullable="true"> 
     <gedmo:versioned /> 
</field> 

添加参数ProductVariant模型为好,加入到构造器

$this->availableTo = new \DateTime(); 

添加方法定义到ProductInteraceVariantInterface。 添加标签和窗口小部件布局

{{ form_label(form.masterVariant.availableTo) }} 
{{ form_widget(form.masterVariant.availableTo, {'label': false})}} 

将它添加到VariantType建设者也:

->add('availableTo', 'datetime', array(
       'date_format' => 'y-M-d', 
       'date_widget' => 'choice', 
       'time_widget' => 'text', 
       'label'  => 'sylius.form.product_variant.available_to' 
      )) 

,一切工作正常,除了我在编辑模式是加载的值不是从数据库(保存工作正常,所以我可以键入日期,保存并将其存储在数据库中,并在其他视图中正确显示)。没有小时,2010-01-01有一个值。我能做些什么来解决它?

+0

你尝试:i''? – scoolnico

+0

@scoolnico是的,它不会改变加载的值 - 仍然2010-01-01 00:00。否则我从availableOn代码复制了这个:' - > add('availableOn','datetime',array( 'date_format'=>'yM-d', 'date_widget'=>'choice', 'time_widget'= >'text', 'label'=>'sylius.form.product_variant.available_on' )' – Starspire

+0

当您尝试更新时,'availableOn'的正确值显示在表单输入中? – scoolnico

回答

0

这个问题与` 'DATE_FORMAT'=>“Y-M-d H中的溶液我没有Variant.orm.xml文件中映射出的超添加该字段

<mapped-superclass name="Sylius\Component\Product\Model\Variant" table="sylius_product_variant"> 
     <field name="availableOn" column="available_on" type="datetime" nullable="true" /> 
     <field name="availableTo" column="available_to" type="datetime" nullable="true" /> 
</mapped-superclass>