我做了很多关于如何做的研究,最后来到这里:
Session session = resourceResolver.adaptTo(Session.class);
Node formRootNode = resourceResolver.getResource("/content/usergenerated/content/XXX").adaptTo(Node.class);
String id = incrementId(formRootNode);
Node formNode = formRootNode.addNode("data" + id, "nt:unstructured");
formNode.setProperty("id", id);
formNode.setProperty("name", "John");
session.save();
formNode.setProperty("cq:distribute", true);
formNode.setProperty("cq:lastModified", Calendar.getInstance());
formNode.setProperty("cq:lastModifiedBy", session.getUserID());
session.save();
对于 XXX ,它的类型为 cq:Page 。当我在发布商中试用此代码时,新节点确实已插入发布商(例如:/ content / usergenerated / content / XXX / data1),只是它没有被复制致作者。
我已经收集了有关如何通过互联网执行此操作的任何可能的知识:
不幸的是,在研究了上述建议/示例之后,仍然没有设法让它工作,任何人都可以请点亮一点?
答案 0 :(得分:1)
cq:Page
。cq:distribute
资源上设置jcr:content
属性。示例:
Session session = resourceResolver.adaptTo(Session.class);
Node formRootNode = JcrUtil.createPath("/content/usergenerated/content/formPage", true, "sling:Folder", "cq:Page", session, false);
Node formNode = formRootNode.addNode("jcr:content", "cq:PageContent");
formNode.setProperty("name", "John");
session.save();
formNode.setProperty("cq:distribute", true);
formNode.setProperty("cq:lastModified", Calendar.getInstance());
formNode.setProperty("cq:lastModifiedBy", session.getUserID());
session.save();
示例使用JcrUtil.createPath
在/content/usergenerated/content
下创建唯一节点。