Как найти веб-содержимое с определенным значением поля структуры? - PullRequest
0 голосов
/ 10 декабря 2011

Мне было интересно, кто-нибудь может дать мне несколько идей / фрагментов о том, как создать шаблон Velocity для циклического просмотра элементов веб-контента для конкретной структуры и рендеринга контента на основе значения определенного поля структуры?

1 Ответ

0 голосов
/ 10 декабря 2011

Вот фрагмент из navigation.vm, который будет отображать групповые ссылки:

#set($groupLocalService = $serviceLocator.findService("com.liferay.portal.service.GroupLocalService"))
#set($groupCount = $groupLocalService.getGroupsCount())
#set($groups = $groupLocalService.getGroups( 0, $groupCount))
<div id="community-links">
    <ul>
        #foreach ($group in $groups)
            #if ($group.community && $group.name != 'Guest' && $group.hasPublicLayouts())
                #set ($groupURL = $portletURLFactory.create($request, $group.name, $group.defaultPublicPlid, "ACTION_PHASE"))
                ${groupURL.setWindowState("normal")}
                ${groupURL.setPortletMode("view")}
                ${groupURL.setLifecycle("0")}
                ${groupURL.setParameter("groupId", ${group.getGroupId().toString()})}
                ${groupURL.setParameter("privateLayout", "false")}
                #if ($group.getGroupId() == $themeDisplay.getLayout().getGroup().getGroupId() )
                    #set ($className = "selected")
                #else
                    #set ($className = "unselected")
                #end
                <li class="${className}">                         
                    <a href="${groupURL.toString()}"><span>$group.getName()</span></a>
                </li> 
            #end
        #end    
    </ul>
</div>
...