Magnolia 修改已出版的木兰成分

Magnolia 修改已出版的木兰成分,magnolia,Magnolia,假设在Magnolia的页面应用程序中,有几个页面包含组件“A”的实例,这些实例具有属性对话框。这些页面将发布到公共服务器 稍后,您决定更改此属性的结构(添加字段或例如将图像字段更改为图像数组) 为此,您需要修改组件的对话框yaml文件(添加/修改字段)和组件的模板ftl文件以呈现这些更改 问题:-这会破坏以前创建的包含组件“A”实例的页面吗?i、 e.如果您需要修改组件的属性,最好创建新组件而不是修改现有组件?只要您注意现有实例不会有任何新添加属性/字段的值,就可以修改现有组件。所以在模板

假设在Magnolia的页面应用程序中,有几个页面包含组件“A”的实例,这些实例具有属性对话框。这些页面将发布到公共服务器

  • 稍后,您决定更改此属性的结构(添加字段或例如将图像字段更改为图像数组)
  • 为此,您需要修改组件的对话框yaml文件(添加/修改字段)和组件的模板ftl文件以呈现这些更改

问题:-这会破坏以前创建的包含组件“A”实例的页面吗?i、 e.如果您需要修改组件的属性,最好创建新组件而不是修改现有组件?

只要您注意现有实例不会有任何新添加属性/字段的值,就可以修改现有组件。所以在模板中,您需要期望得到空值,并提供良好的默认值来覆盖这种情况。因此,从技术上讲,您可以很好地修改组件

创建新组件还是修改现有组件更好取决于业务需求。是否希望页面在已经使用组件的页面中查看新组件的外观并获取新字段,或者这些更改仅与将在其中使用组件的新页面相关

另一个需要考虑的问题是,您拥有的组件越多,编辑器就越难从不断增长的列表中选择正确的组件。然而,您在单个组件中填充的功能越多,测试它就越复杂和困难,将来用其他东西替换它也就越困难