Отображать настраиваемое поле true/false как флажок в Liferay

Когда вы создаете логическое настраиваемое поле типа true/false, оно отображается в виде раскрывающегося списка со значениями true и false. Когда я иду и редактирую поле и не вижу опции, позволяющей изменить тип отображения. Я хотел бы, чтобы это поле отображалось как флажок. Любые предложения действительно ценятся.


person Carlene Talty    schedule 21.02.2012    source источник


Ответы (2)


К сожалению, я не смог найти какой-либо параметр конфигурации для этого типа поля, как и для некоторых других. Способ, который я нашел для отображения true/false в качестве флажка, заключается в переопределении jsp из taglib, который отображает пользовательские атрибуты. Здесь я описал, что нужно сделать.

http://liferay.bdedov.eu/2012/02/render-truefalse-custom-field-type-as.html

Ваше здоровье!!!

person Liferay Blogger    schedule 21.02.2012

Одним из способов может быть создание хука jsp для page.jsp в html\taglib\ui\custom_attribute\ и замена select на checkbox:

<c:choose>
    <c:when test="<%= type == ExpandoColumnConstants.BOOLEAN %>">
        <% Boolean curValue=( Boolean)value; if (curValue==n ull) { curValue=( Boolean)defaultValue; } curValue=P aramUtil.getBoolean(request, "ExpandoAttribute--" + escapedName + "--", curValue); %>
            <select id="<%= randomNamespace %><%= escapedName %>" name="<portlet:namespace />ExpandoAttribute--<%= escapedName %>--">
                <option <%=c urValue ? "selected" : "" %>value="1">
                    <liferay-ui:message key="true" />
                </option>
                <option <%=! curValue ? "selected" : "" %>value="0">
                    <liferay-ui:message key="false" />
                </option>
            </select>
    </c:when>
</c:choose>
person Sandeep Nair    schedule 22.02.2012