如何配置generator.yml,以便它将使用一个表单作为 “新”操作,另一个用于“编辑”操作?管理生成器 - 对“编辑”和“新”操作使用不同的表单
1
A
回答
3
两种方式:
1.写你自己的管理配置
如果两种形式之间存在显着差异,则这是首选方法。该文件进入模块的配置文件夹。 “moduleName”应该替换为模块的名称。
class moduleNameGeneratorConfiguration extends BaseModuleNameGeneratorConfiguration
{
public function getForm($object = null, $options = array())
{
$options = array_merge($this->getFormOptions(), $options);
if ($object && $object->exists())
{
return new EditModelForm($object, $options);
}
else
{
return new NewModelForm($object, $options);
}
}
}
2.独立的内部形式的
逻辑这会导致混乱,如果有显著的差异,但你可以简单地调用isNew
必要的形式,例如内
public function configure()
{
if ($this->isNew())
{
//do new stuff
}
else
{
//do edit stuff
}
}
0
您可以创建与前端应用程序相同的目录结构,并且它将覆盖生成器表单。例如,在后端模块中创建一个indexSuccess.php文件。加载该模块时,它将立即使用indexSuccess.php文件。
要做到这一点,最简单的方法是从您的/ cache文件夹复制数据 - 基本上复制生成的后端模块文件,并以您想要的方式修改它们。
1
我能够做不同的事情“新”,以相同的形式“编辑”,使用
$this->isNew()
0
您可以根据操作指定表单中哪些字段可用,请参阅The form section only exists as a fallback for the edit and new sections。
例如:
generator:
param:
form:
display:
group1: [name, description]
edit:
title: Edit item %%name%%
fields:
#group1: [name, description] -> inheritance
group2: [only_displayed_when_editing_field]
new:
title: New item
fields:
group1: [name] #override
相关问题
- 1. 管理生成器 - 列表操作
- 2. Symfony管理生成器:将批处理操作从选择列表转换为使用管理生成器生成的对象列表中的链接
- 3. 当表单失败时,“渲染”编辑“”使用更新操作而不是编辑操作
- 4. 使用LINQ的简单编辑/更新操作。我的代码有点不对?
- 5. 我的编辑和新操作应该重新使用相同的视图吗? (编辑后)
- 6. 管理生成器不生成类
- 7. 使用相同的XIB进行新的/编辑操作
- 8. 限制symfony管理生成器中可用于所有操作的对象
- 9. symfony管理生成器table_method
- 10. 表单使用collection_select,编辑操作完全可行,但创建不成功
- 11. 覆盖管理生成器模块中的executeCreate操作
- 12. 单个对象Django管理操作
- 13. 多对多协会的编辑操作
- 14. Symfony管理生成器
- 15. Symfony 1.4更改管理生成器操作或模板
- 16. Symfony/Sonata管理:编辑表单上的列表表单
- 17. 使用相同表单添加和编辑的ASP.net MVC 2.0
- 18. 向管理生成器生成的管理页面添加交互
- 19. symfony管理生成器中的peer_method
- 20. Django编辑用户生成的对象
- 21. 使自定义管理生成器操作看起来像内置的一个
- 22. Delphi布局管理器/表单生成器开源?
- 23. 在C#中使用基本表单生成器构建管理面板列表
- 24. symfony管理生成器外键列表
- 25. 如何使用formtastic为html表单生成正确的操作?
- 26. 为表单生成https操作url
- 27. Qt WYSIWYG编辑器 - 不可编辑/生成的区域
- 28. Symfony i18n字段和管理生成器
- 29. 接口生成器和内存管理
- 30. 为管理员生成的模块自定义表单模板(新/编辑视图)