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

Extending columns of the admin user grid Kentico 10

我用的是 Kentico 10。
尝试在用户网格中显示新的自定义列。 (请看下图)

最好的方法是什么,
所以它在 Kentico 更新后仍然有效?

您必须编辑位于 ~/CMSModules/Membership/Pages/Users/User_List.xml

unigrid definition 文件

我试过 <column source="##ALL##" externalsourcename="#transform:cms.user:PriceListAllowed#isnullyesno" caption="PriceListAllowed" allowsorting="true"/> 但似乎不起作用。您可能需要向网格查询添加列,这意味着您必须创建 Unigrid Extender(这里是 example). Take a look also at creating extenders

P.S。您不妨将您的列放在用户设置中并将其用作参考表。这是一个 example

最好的办法是根据此文件创建您自己的 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 视图。您有几个选择:

  • 修改现有视图(不推荐)
  • 在用户 class 的成员资格模块中创建您自己的查询,它将把 cms_user table 加入 cms_usersettings table 并选择“ * " 用于列列表,它将自动包含您的新列。

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

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

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