- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
是否可以根据用户是否处于编辑模式来提供不同的体验?我注意到存在以下方法;但它不是静态的:
info.magnolia.templating.functions.TemplatingFunctions.isEditMode()
有没有办法从 Controller 内部访问 isEditMode() 方法?它的实例是否定义在可以访问的地方?我想创建 TemplatedFunctions
类的新实例不会有帮助......
我研究过使用@Inject
;但是我在注入(inject)所有参数时不断遇到问题。
@Inject
public ModelAndView renderView(Model model, Node node, TemplatingFunctions templatingFunctions) throws RepositoryException {
if (templatingFunctions.isEditMode()) {
}
}
最佳答案
当我检查该方法的作用时,我发现它是两个函数的组合。
Components.getComponent(ServerConfiguration.class).isAdmin()
和
aggregationStateProvider.get().isPreviewMode()
看来您应该注入(inject)一个提供程序来了解用户是否处于预览模式
Provider<AggregationState> aggregationStateProvider
作为一般性评论,人们可以从 myModule/src/main/resources/META-INF/mymodule.xml
下的相关模块配置了解码件是否可注入(inject)。如果那里列出了一个组件,那么它是否可以注入(inject)到其他类中。例如,您注入(inject) TemplatinFunctions
类型应该没有问题,因为它确实定义为;
<component>
<type>info.magnolia.templating.functions.TemplatingFunctions</type>
<implementation>info.magnolia.templating.functions.TemplatingFunctions</implementation>
<scope>singleton</scope>
</component>
更多阅读内容请访问 https://documentation.magnolia-cms.com/display/DOCS/Dependency+injection+and+inversion+of+control
希望这有帮助,
关于java - 从 Controller 内部访问 Magnolia TemplatedFunctions,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36697961/
是否可以根据用户是否处于编辑模式来提供不同的体验?我注意到存在以下方法;但它不是静态的: info.magnolia.templating.functions.TemplatingFunctions.
我是一名优秀的程序员,十分优秀!