フォーラム

ホーム » Liferay Portal » English » 3. Development

構造的に表示 平面上に表示 ツリー上に表示
スレッド [ 前へ | 次へ ]
toggle
Maximiliano Chiesa
Get AssetEntry view URL
2012/08/09 10:47
答え

Maximiliano Chiesa

ランク: Junior Member

投稿: 47

参加年月日: 2012/07/20

最近の投稿

Hi!

I have a portlet in which I order assets according to their categories. For each AssetEntry I want to generate a link to it's "view". The problem is that I don't know how to get that URL programatically and set it to the link's href property.

Is there a way of making this?

Thanks in advance!
Dave Weitzel
RE: Get AssetEntry view URL
2012/08/09 11:04
答え

Dave Weitzel

ランク: Regular Member

投稿: 204

参加年月日: 2009/11/18

最近の投稿

I suggest you look at how AssetPublisher does it.
Basically it has to identify a page layout (plid) that contains the right portlet for the asset type you are displaying , then standard portlet options will allow you to maximize the portlet to show larger view of the asset.
G. B.
RE: Get AssetEntry view URL
2012/10/29 5:31
答え

G. B.

ランク: New Member

投稿: 1

参加年月日: 2012/10/22

最近の投稿

Hi!

In case you want to see the URL in each Asset Entry you can make a Hook for that. Just overwrite /WEB-INF/jsps/html/portlet/asset_publisher/display/full_content.jsp

and add the following content after line 217:

 1        <div class="urlBox">
 2                <hr/>
 3                <input id="entryButton" type="button" name="entryURL" value="Entry URL" onClick="toggle(this)" />
 4
 5                <div id="entryURL">
 6                        <%
 7                                String currentGroup = themeDisplay.getLayout().getGroup().getFriendlyURL();
 8                                String friendlyURL = themeDisplay.getPortalURL() + currentGroup + "/-/" + assetRenderer.getUrlTitle();
 9                        %>
10                        <a href="<%= friendlyURL %>"> <%= friendlyURL %> </a>
11                </div>
12        </div>
13
14        <script>
15                var entryURL = document.getElementById('entryURL');
16                var isShown = true;
17                entryURL.style.display = 'none';
18
19                function toggle(entryButton) {
20                        if (isShown)
21                        {
22                        entryURL.style.display = 'block';
23                                isShown = false;
24                                entryButton.value= 'Hide';
25                        }
26
27                        else
28                    {
29                entryURL.style.display = 'none';
30                                isShown = true;
31                                entryButton.value= 'Entry URL';
32                        }
33                 }
34        </script>


Now every AssetEntry has a Button in the bottom, which shows the friendly url.