Я использую Kentico 10.
Я пытаюсь отобразить новые настраиваемые столбцы в сетке пользователей. (пожалуйста, см. рисунок ниже)
Как лучше всего это сделать,
чтобы он по-прежнему работал после обновления Kentico?
Расширение столбцов сетки пользователя администратора Kentico 10
Ответы (2)
Лучше всего создать собственный файл 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
. У вас есть несколько вариантов:
- Изменить существующий вид (не рекомендуется)
- Создайте свой собственный запрос в модуле «Членство» в классе «Пользователь», который соединит таблицу
cms_user
с таблицейcms_usersettings
и выберет « * » для списка столбцов, и он автоматически включит ваши новые столбцы.
Затем вернитесь к созданному файлу XML, удалите узел типа объекта и добавьте элемент <query>
следующим образом:
<query name="cms.user.yourcustomqueryname" />
Это должно дать вам то, что вы ищете. Единственное, что может быть перезаписано при обновлении, — это путь к XML-файлу пользователей в пользовательском модуле. Так что должно быть довольно легко обновить этот путь, если он перезаписан.
<action name="haspassword" externalsourcename="haspassword" caption="$userlist.nopassword$" fonticonclass="icon-exclamation-triangle" fonticonstyle="warning" />
и попытаюсь отредактировать пользователя, я получу сообщение: GridView 'v' запустил событие RowEditing, которое не было обработано.
- person Dawid Cz; 07.08.2018
Вам необходимо отредактировать определение unigrid файл, расположенный по адресу ~/CMSModules/Membership/Pages/Users/User_List.xml
Я пробовал с <column source="##ALL##" externalsourcename="#transform:cms.user:PriceListAllowed#isnullyesno" caption="PriceListAllowed" allowsorting="true"/>
, и это не работает. Вероятно, вам нужно добавить столбцы в запрос сетки, это означает, что вам нужно создать расширитель Unigrid (вот пример). Взгляните также на создание расширителей.
P.S. Вы также можете поместить свой столбец в пользовательские настройки и использовать его в качестве справочной таблицы. вот пример