【问题标题】:MURA CMS: how to add a page programmaticallyMURA CMS:如何以编程方式添加页面
【发布时间】:2018-02-15 21:29:03
【问题描述】:

那么,我能说什么呢?如何在 MURA CMS 中以编程方式添加页面?最好是 6.1 版。

我正在构建一个需要在站点管理器中创建几个页面的插件。我想在 'plugin/plugin.cfc' 组件的 'install' 方法中添加这个例程。

我无法在网上找到任何指向此问题的指针,这可能意味着无法解决此特定问题。但是,我活在希望中。

在此先感谢人们对此提供的任何帮助。

【问题讨论】:

    标签: coldfusion mura


    【解决方案1】:

    向 Mura 添加内容时,关键是您需要知道您希望新内容项所在位置的parentid。除此之外,Mura 提供了一种对内容项执行 CRUD 操作的简单方法。您可以在http://docs.getmura.com/v6/back-end/base-mura-objects-beans/loading-beans/ 阅读更多相关信息(基于您指定的版本)。我还想指出,文档在最新版本中得到了极大的扩展,可以在http://docs.getmura.com/v7/mura-developers/mura-beans-objects/common-bean-objects/content-bean/ 找到。虽然概念和语法仍然适用于旧版本,但自 v6.1 起添加了一些用于处理 Mura 内容对象的新方法。我也强烈建议尽快升级,因为 v7.1 也即将发布(截至 2018 年 2 月)。

    也就是说,仅有的两个必填字段/属性是 titleparentid。以下是能够做你需要的基本代码:

    // load the parent content item
    parentBean = $.getBean('content').loadBy(title='Home');
    
    // you may want to verify the `parentBean` actually exists before proceeding
    if ( parentBean.getIsNew() ) {
      Throw(message='parentBean does NOT exist!');
    }
    
    // v6.1 syntax
    newBean = $.getBean('content')
               .setValue('title', 'Some Title')
               .setValue('parentid', parentBean.getContentID())
               .save();
    
    // v7.0+ syntax
    newBean = $.getBean('content')
               .set('title', 'Some Title')
               .set('parentid', parentBean.get('contentid'))
               .save();
    
    // after saving, you can check for errors
    if ( !StructIsEmpty(newBean.getErrors()) ) {
      WriteDump(var=newBean.getErrors(), abort=true);
    }
    

    如果需要,您也可以清楚地set 其他属性(如前面的链接中所定义)。

    干杯!

    【讨论】:

    • 非常感谢您提供这些信息。这正是我想要的。恐怕我无法升级,因为我正在使用被低估的广告模块。我已经围绕它构建了一个插件,所以我将花费一年的时间!
    • 只是出于兴趣,是否有通过“布局和对象”选项卡以编程方式添加显示对象的键。我想在创建页面时将广告区区域添加到页面?谢谢...
    • 我看到其中一个键是“objectparams”。这是否代表“布局和对象”中的“内容对象”?
    猜你喜欢
    • 2011-05-27
    • 1970-01-01
    • 2010-09-16
    • 1970-01-01
    • 2012-03-08
    • 1970-01-01
    • 2014-02-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多