扩展管理用户网格Kentico 10的列

时间:2018-08-02 08:52:23

标签: kentico

我使用Kentico10。
尝试在用户网格中显示新的自定义列。 (请参见下图)

什么是最好的方法,
以便它在Kentico更新后仍然可以使用?

enter image description here

2 个答案:

答案 0 :(得分:1)

最好的做法是根据此文件创建自己的XML文件:

/CMSModules/Membership/Pages/Users/User_List.xml

并像这样添加您的字段:

<column source="##ALL##" externalsourcename="#transform:cms.user:PriceListAllowed#isnullyesno" caption="Price List Allowed" allowsorting="true"/>

第二,您需要创建一个查询,该查询将获取您期望的字段。查看当前的XML文件,您会看到它所引用的对象是用代码创建的对象,您无法对其进行控制:

<objecttype name="cms.userlist" />

cms.userlist本质上是在调用View_CMS_User视图。您有几种选择:

  • 修改现有视图(不推荐)
  • 在User类的Membership模块中创建您自己的查询,该查询会将cms_user表连接到cms_usersettings表,并在列列表中选择“ *”,它将自动包括新的列。

然后返回您创建的XML文件,并删除objecttype节点并添加一个<query>元素,如下所示:

<query name="cms.user.yourcustomqueryname" />

这应该可以为您提供所需的东西。升级中唯一可能被覆盖的是用户模块中用户XML文件的路径。因此,如果该路径被覆盖,更新路径应该很容易。

答案 1 :(得分:0)

您必须编辑位于~/CMSModules/Membership/Pages/Users/User_List.xml的{​​{3}}文件

我尝试过使用<column source="##ALL##" externalsourcename="#transform:cms.user:PriceListAllowed#isnullyesno" caption="PriceListAllowed" allowsorting="true"/>,但似乎没有用。您可能需要在网格查询中添加列,这意味着您必须创建Unigrid Extender(这里是unigrid definition)。也来看看example

P.S。您也可以将列放在用户设置中,并将其用作参考表。这是creating extenders