Magnolia 模板未从 Author 发布到 Public
Posted
技术标签:
【中文标题】Magnolia 模板未从 Author 发布到 Public【英文标题】:Magnolia templates not published from Author to Public 【发布时间】:2019-12-30 16:24:00 【问题描述】:我安装了两个 magnolia 实例并将其中一个转换为 public 以接收来自第一个实例的发布。
我按照 hello-magnolia 教程(来自官方网站上的this link),在作者实例上创建了模板,并成功创建并预览了页面。但是,当它发布时,它在公共实例上显示为 unknown-template 并生成错误。我把作者实例的modules目录下的hello-magnolia模块复制到了public实例,问题就解决了。
当我遵循相同的教程但在下载的捆绑包上时,我没有手动复制模板并且它已成功发布。
为什么我现在必须手动将模板从作者复制到公开,以及我如何才能拥有与下载的捆绑包相同的行为?
【问题讨论】:
【参考方案1】:由于您没有链接您所指的教程,因此只能猜测。
引用我发现的“Magnolia 持续扫描由magnolia.resources.dir
属性定义的文件系统文件夹”。在教程的情况下,作者和公共实例立即看到模板的最可能原因是两个实例都将上述属性设置为指向同一个目录。
如果您在后面的安装中有单独的实例,则很可能不是这种情况。要更改它(假设两个实例都在同一个 VM 上运行或共享一个网络驱动器),您需要将它们都指向同一个目录。属性magnolia.resource.dir
可以在magnolia.properties
文件中设置,该文件位于代表WEB-INF/config/default/magnolia.properties
下的每个实例的webapp 中。
也就是说,将两个实例都指向相同版本的文件不一定是最佳实践。如果这样做,您可能会在某些情况下限制自己。假设您正在准备一些活动或新版本的网络,并且希望在作者中已经为编辑提供新模板,而在公开时您希望保持当前视图......如果两者都指向同一个文件夹,您不能这样做。 OTOH 维护更简单,不会因忘记更新每个实例中的模板而导致错误……只是说你知道你所做的选择如何影响你将来可能做的事情。
【讨论】:
对不起,我将链接到教程。我的意思是他们网站上的那个,它是一个名为 hello magnolia 的入门教程。以上是关于Magnolia 模板未从 Author 发布到 Public的主要内容,如果未能解决你的问题,请参考以下文章
如何根据另一个组件的存在有条件地将类添加到 Magnolia 组件模板?
在 Magnolia CMS 5 中将组件从一个自定义模板继承到另一个模板