如何在10月CMS静态页面插件中添加自定义字段?

时间:2016-04-14 14:28:52

标签: php laravel-5 laravel-5.1 octobercms

我想在静态页面插件中将自定义字段“thumbnail”添加到菜单表单中。

我已将此字段添加到project / plugins / rainlab / pages / classes / menuitem / fields.yaml

# ===================================
#  Field Definitions
# ===================================

fields:

    title:
        span: left
        label: rainlab.pages::lang.menuitem.title

    type:
        span: right
        label: rainlab.pages::lang.menuitem.type
        type: dropdown

    url:
        label: rainlab.pages::lang.menuitem.url

    reference:
        label: rainlab.pages::lang.menuitem.reference
        type: dropdown
        cssClass: input-sidebar-control

    thumbnail:
        label: Thumbnail
        mode: file
        cssClass: input-sidebar-control
        type: mediafinder

// another part of code is default

还可以在project / plugins / rainlab / pages / classes / MenuItem.php

中添加
public $thumbnail;

public $fillable = [
    'title',
    'nesting',
    'type',
    'url',
    'code',
    'reference',
    'cmsPage',
    'replace',
    'viewBag',
    'thumbnail' // new field
];

但它不起作用。如何解决这个问题呢?谢谢。

2 个答案:

答案 0 :(得分:0)

对于简单类型的字段也需要更改js文件

plugins/rainlab/pages/formwidgets/menuitems/assets/js/menu-items-editor.js

在功能

MenuItemsEditor.prototype.applyMenuItem

更改 basicProperties

例如

basicProperties = {
            'title': 1,
            'type': 1,
            'code': 1,
            'thumbnail': 1
        },

但是对于文件它不起作用。

答案 1 :(得分:0)

我认为你必须扩展插件,更多信息在文档中:https://octobercms.com/docs/plugin/extending#extending-backend-form