我希望能够使用下拉选择框来更改“收藏集”网格中显示的“资源”电视的价值。
任何人都可以提供一个示例,说明如何在“收藏夹”网格中创建一个选择框。
我知道这是有可能的,但是找不到一个足够接近我所需要实现的示例,我可以自己解决。
我尝试过的事情
我看过苏珊·奥特维尔(Susan Otwell)的示例,该示例如何使用选择框更改“创建者” http://modxcookbook.com/add-ons/collections/editable-grid-view.html
下面链接的讨论解决了类似的问题,但仍未得到答复 https://forums.modx.com/thread/95984/adding-modx-combo-to-collections-list
MIGX的配置和语法看起来相似,但距离不够近,无法弄清需要做什么 https://forums.modx.com/thread/91403/single-select-listbox-entries-in-migx
MODx.combo.ComboBox文档看起来似乎有一些相关的细节,但我还不了解这是否有用 https://docs.modx.com/revolution/2.x/developing-in-modx/advanced-development/custom-manager-pages/modext/modx.combo.combobox
我已经在其他Extras的源代码中寻找类似的下拉列表示例。我看到了xtype引用,但是无法对它们进行反向工程,以了解在Collections网格中创建自己的下拉菜单所需的内容。
上面的Susan Otwell的示例基于xtype modx-combo-user创建了一个下拉列表。这看起来很接近我的需求,但是我无法弄清楚如何通过电视值或固定列表来创建下拉菜单。
{"xtype":"modx-combo-user","renderer":true,"fields": ["fullname","username","id"],"displayField": "fullname","baseParams": {"action": "security/user/getlist","usergroup":2}}
任何人都可以提供示例或为我指出可能有用的其他资源吗?
答案 0 :(得分:0)
我刚刚在MODX论坛上回答了这个问题,但是这里是给StackOverflow上的任何人的
在资产目录中创建一个JS文件。为了简单起见, 在资产目录中创建一个名为test.js的文件。
转到MODX系统设置页面,然后选择“集合”名称空间过滤器。然后在collections.user_js设置中,输入 值:{assets_url} test.js。这将指示集合加载 每当您启动Collections时,您都会创建新的test.js文件。
对于此示例,将以下ZoomLevel(适用于Google Maps缩放)示例复制并粘贴到新的test.js文件中。
collections.combo.ZoomLevel = function(config) {
config = config || {};
Ext.applyIf(config,{
store: new Ext.data.ArrayStore({
id: 0
,fields: ['level']
,data: [
['1'],
['2'],
['3'],
['4'],
['5'],
['6'],
['7'],
['8'],
['9'],
['10'],
['11'],
['12'],
['13'],
['14'],
['15'],
['16'],
['17'],
['18'],
['19'],
['20'],
['21']
]
})
,mode: 'local'
,displayField: 'level'
,valueField: 'level'
,name: 'zoom_level'
,hiddenName:'zoom_level'
});
collections.combo.ZoomLevel.superclass.constructor.call(this,config);
};
Ext.extend(collections.combo.ZoomLevel,MODx.combo.ComboBox);
Ext.reg('collections-combo-zoomlevel',collections.combo.ZoomLevel);
粘贴后,保存文件。
转到“收藏夹”视图页面,并为收藏夹网格添加新列。在编辑器字段中,复制并粘贴以下JSON:
{
"xtype": "collections-combo-zoomlevel",
"renderer": true
}
您现在有了一个组合框编辑器,其中包含我们在test.js文件中定义的值。
这些组合框是非常可配置的,但是要找出什么设置可以做什么会有些困难。
在这里您可以看到Collections本身定义的组合: https://github.com/modxcms/Collections/blob/9a328fa881b76e2ce355876156eaca3126065717/assets/components/collections/js/mgr/extra/collections.combo.js