我向分類單元添加了一個新字段,並在管理面板的編輯Taxon頁面上的窗體上顯示新字段。我的問題是我無法讓我的新領域保存到分類中。我收到一條成功消息,但只有現有的Taxon字段保存,而我的新字段清除。這裏是我的代碼(注意我正在修改Sylius核心,而不是擴展,作爲概念證明,一旦我有這個工作,我會適當擴展):Sylius在分類表格上的新字段不保存
src/Sylius/Bundle/TaxonomyBundle/Form /類型/ TaxonType.php:
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('translations', 'sylius_translations', [
'type' => 'sylius_taxon_translation',
'label' => 'sylius.form.taxon.name',
])
->add('my_new_field', 'text', [
'label' => 'My New Field',
'required' => false
])
->addEventSubscriber(new AddCodeFormSubscriber())
->addEventSubscriber(new BuildTaxonFormSubscriber($builder->getFormFactory())
);
}
的src/Sylius /組件/核心/型號/ Taxon.php:
保護$ my_new_field;
和
public function getMyNewField() {
return $this->my_new_field;
}
public function setMyNewField($myNewField) {
$this->my_new_field = $myNewField;
}
更新類羣模型後,我跑學說:DIFF然後跑到遷移到我的新字段添加到模型。我可以確認,該字段已添加到數據庫中。
該字段現在也在編輯屏幕上顯示Taxons。我可以在字段中輸入文本,並且它可以正確發佈,但是永遠不會保存到分類羣中。
我想我錯過了一些控制器邏輯,但似乎分類標準經歷了標準的ResourceController的updateAction(),我一直無法弄清楚如何使這個知道需要的新字段被保存。
請問您還可以提供您的'Taxon'實體的映射文件嗎? – Zaleslaw
所有我需要的是在正確的方向輕推。非常感謝你的幫助,你的評論爲我所用。如果你發佈了一個答案,說我錯過了我的ORM映射:src/Sylius/Bundle/TaxonomyBundle/Resources/config/doctrine/model/Taxon.orm.xml我會接受它。再次感謝!快速提示,我也是這個模型的屬性:src/Sylius/Component/Taxonomy/Model/Taxon.php。似乎讓他們在src/Sylius/Component/Core/Model/Taxon.php是不夠的。 – carbide20