Silverstripe::多站点树

标签 silverstripe

我们正在重组我们的网站。我们有很多页面(很多),深度跨越 5 个级别。我们的新用户体验设计师正在尝试解决这个问题。作为其中的一部分,她提议对页面/内容进行重组(此重组至少需要 6 周时间)。该组织无法承担网站卡住 6 周的费用。所以我的问题是

  1. 是否有任何简化的方法可以修改网站的结构而不影响生产网站...如何处理
  2. 我们可以创建现有站点树的副本(即有多个站点树,一个处于事件状态,一个处于草稿状态)并在那里进行更改吗?一旦我们准备好了,我们可以切换吗? (只是一个想法)
  3. 请提出想法

干杯 研发

最佳答案

1)“重组过程”会涉及编码工作吗?为什么不将数据库和代码复制到另一个主机实例(例如 staging.yourdomain.com)并在那里进行增强? (任何更改都不会影响当前站点)。

实际上,在大多数开发环境中,通常至少有两个版本的站点正在运行,其中一个用于测试/登台站点,另一个用于测试/登台站点。 更改在上线前会得到客户的批准。

创建许多未使用的页面或在 生产现场。

2) 您想要在生产实例上拥有两个站点树副本吗?好吧,您可以使用 silverstripe-copybutton 模块来完成此操作,它将制作页面的精确副本。

但这并不是一件好事。您稍后需要删除很多内容,并且您的数据库可能会增长,因为站点树是一个版本化对象,并且它会记住以前的修订。此外,如果还需要一些编码工作,您实际上无法在生产站点上完成它,因为它会影响访问者可见的页面。

但是,如果更改仅与页面内容相关,并且您无法拥有单独的站点实例,则可以使用复制模块复制页面并在复制的版本中进行更改,然后替换旧的与新的。

这不是推荐的方法,您必须非常小心。如果您硬删除任何依赖项(例如页面使用的另一个对象或图像),它也将从原始版本中删除,因为目标对象不再存在。

3) 见上文

关于Silverstripe::多站点树,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32707260/

相关文章:

php - SilverStripe 硬编码权限设置 EDIT_SITECONFIG

php - 扩展图像类

php - 汇总字段中的 $many_many 关系

content-management-system - 表单提交后重定向

silverstripe - 我可以动态更改 SilverStripe 主题吗?

php - SilverStripe 按 has_one 关系字段 "title"排序

silverstripe - 默认情况下显示silverstripe ModelAdmin

youtube - 银条。在内容区域嵌入 2 个 YouTube 视频会在两个视频中显示相同的视频

silverstripe - 扩展 SilverStripe 模块扩展

SilverStripe - 添加 2 个 TreeDropdownFields,只有一个有效