我正在尝试扩展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,但我只想列出用户正在编辑的当前页面的子节点。
摘要:是否可以在我的类的构造函数中获取当前节点路径?
答案 0 :(得分:0)
我认为通过Field
是不可能的,但如果您延长public SwitchableField(com.vaadin.data.Item relatedItem){
// you can do your manipulations of the given relatedItem here
}
课程,则可能会得到它;
:test
我希望有所帮助,
干杯
答案 1 :(得分:0)