【问题标题】:Hippo cms add content to repositoryHippo cms 将内容添加到存储库
【发布时间】:2015-03-05 14:40:31
【问题描述】:

这次我尝试使用组件向存储库添加值。我的阅读没有问题。

目前,我正在尝试将城市添加到存储库中

我的代码:

Session session = this.getPersistableSession(request);
HippoBean siteBaseBean = request.getRequestContext().getSiteContentBaseBean();
HippoBean hippoFolder = siteBaseBean.getBean("city"); 
Node node = hippoFolder.getNode();

String path = node.getPath(); // it's working "/content/documents/myhippoproject/city"

node.addNode("4","hippo:handle");
session.save();

在这段代码之后什么都没有发生。我也试过了:

node.addNode("4",HippoNodeType.HIPPO_NODE);

没有错误和节点。

【问题讨论】:

  • 您尝试通过哪种方法在组件中执行此操作? doAction 还是 doBeforeRender?
  • doBeforeRender。有什么不同?我正在使用 curl POST 并将数据下载到 JSONOBject ,但它可以工作。

标签: jcr hippocms


【解决方案1】:

好的,我找到了解决办法。

Session session = this.getPersistableSession(request);
    HippoBean siteBaseBean = request.getRequestContext().getSiteContentBaseBean();
HippoBean hippoFolder = siteBaseBean.getBean("city"); 
    Node node = hippoFolder.getNode();

HippoRepository repository = HippoRepositoryFactory.getHippoRepository("vm://");
            Session session2 = repository.login("admin", "admin".toCharArray());


            HstRequestContext requestContext = request.getRequestContext();
            WorkflowPersistenceManager wpm = null;
            wpm = getWorkflowPersistenceManager(session2);
            wpm.setWorkflowCallbackHandler(new BaseWorkflowCallbackHandler<DocumentWorkflow>() {
                public void processWorkflow(DocumentWorkflow wf) throws Exception {
                    wf.requestPublication();
                }
            });
String name = "12";

wpm.createAndReturn(node.getPath(), "myhippoproject:City", name, false);

City city = (City) wpm.getObject(node.getPath() + "/" + name);
                wpm.update(city);
                session2.save();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-11-22
    • 1970-01-01
    • 2021-12-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-16
    相关资源
    最近更新 更多