gpt4 book ai didi

java - Magnolia CMS - 自定义 SelectFieldDefinition - 页面上所有可用的组件

转载 作者:太空宇宙 更新时间:2023-11-04 12:44:16 24 4
gpt4 key购买 nike

我正在尝试扩展 MagnoliaCMS 的默认 SelectFieldDefinition 以向该字段添加动态选项。我要插入的选项是当前页面所有内容节点的UUID。

但我的问题是我无法获取当前上下文(页面)。

public class ComponentSelectFieldDefinition extends SelectFieldDefinition {

private static final Logger LOGGER = LoggerFactory.getLogger(ComponentSelectFieldDefinition.class);

public ComponentSelectFieldDefinition() throws RepositoryException {
super();

try {
Session session = MgnlContext.getJCRSession(RepositoryConstants.WEBSITE);
Iterable<Node> nodes = NodeUtil.collectAllChildren(session.getRootNode());

} catch (RepositoryException e) {
LOGGER.warn(e.getMessage());
}
}

实际上,我能够获取根节点,并且可以迭代所有子节点并将它们添加到 SelectField,但我只想列出用户正在编辑的当前页面的子节点。

摘要:是否可以在我的类的构造函数中获取当前节点路径?

最佳答案

我相信通过Definition这是不可能的,但是,如果您扩展一个Field类,您可能会得到它;

public SwitchableField(com.vaadin.data.Item relatedItem){
// you can do your manipulations of the given relatedItem here
}

希望对您有所帮助,

干杯

关于java - Magnolia CMS - 自定义 SelectFieldDefinition - 页面上所有可用的组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36499147/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com