Как создать и вызвать кнопку действия для объекта пользователя

Я создал портлет, который имеет форму пользователя и при нажатии кнопки сохранения в классе я вызываю UserLocalServiceUtil.addUser() для сохранения информации о пользователе в БД. С помощью следующего кода я печатаю список пользователей в моем файле view.jsp.

<liferay-ui:search-container delta="10" emptyResultsMessage="no-users-were-found">
        <liferay-ui:search-container-results
                results="<%=UserLocalServiceUtil.getUsers(searchContainer.getStart(), searchContainer.getEnd())%>"
       total="<%=UserLocalServiceUtil.getUsersCount()%>" />
        <liferay-ui:search-container-row
                className="com.liferay.portal.model.User"
                keyProperty="userId"
                modelVar="user"
        >
                <liferay-ui:search-container-column-text
                        name="name"
                        value="<%= user.getFullName() %>"
                />
                <liferay-ui:search-container-column-text
                        name="first-name"
                        property="firstName"
                />
                <liferay-ui:search-container-column-text
                        name="last-name"
                        property="lastName"
                />
                <liferay-ui:search-container-column-text
                        name="screen-name"
                        property="screenName"
                />
        </liferay-ui:search-container-row>
        <liferay-ui:search-iterator />
</liferay-ui:search-container>
<liferay-ui:search-container delta="10" emptyResultsMessage="no-users-were-found" />

Теперь снимок экрана для моего кода выглядит следующим образом:

введите здесь описание изображения

Теперь я хотел включить элементы управления действиями для списка пользователей. Есть ли способ вызвать методы API для вызова и включения кнопок следующих действий с функциональностью.

введите здесь описание изображения

Если это невозможно с помощью методов API, как добавить кнопки действий для списка пользователей, чтобы я мог редактировать информацию о пользователе.

Любые предложения о том, каким образом я могу выполнить свою задачу


person Vinod    schedule 30.03.2015    source источник


Ответы (1)


То, что вы ищете, реализовано в следующем файле: https://github.com/liferay/liferay-portal/blob/6.2.x/portal-web/docroot/html/portlet/users_admin/user_action.jsp

Этот файл включается в последний столбец итератора поиска.

person Pierpaolo Cira    schedule 30.03.2015
comment
Я делаю это в отдельном портлете. Итак, вы хотите, чтобы я добавил предложенный файл в свой портлет и включил его в последний столбец итератора поиска? - person Vinod; 30.03.2015
comment
К сожалению, кросс-контекст не должен быть разрешен, поэтому вы должны его воспроизвести... тогда вы должны обязательно вызвать правильные основные действия... но очень вероятно, что после действия они вернутся на стандартные страницы. Я не уверен, потому что никогда этого не делал. Альтернативой является репликация значительной части ядра LR в вашем портлете, но мне очень не нравится это решение... Другой подход может состоять в том, чтобы напрямую модифицировать (посредством ext) пользовательский портлет... Проблема, как я уже сказал, заключается в том, что система не предназначена для такой работы в одной группе, а только в одном экземпляре портала... :( - person Pierpaolo Cira; 31.03.2015