Foren

Velocity - get edit URL for asset

Bünyamin Sever, geändert vor 8 Jahren.

Velocity - get edit URL for asset

New Member Beiträge: 14 Beitrittsdatum: 22.04.15 Neueste Beiträge
Hi,

in my Application Display Template (Velocity) i need to add an edit-button for editing the asset entry.

I checked if the user has the permission to edit the asset entries.
Now i need the URL for edit the asset entry.

How can i get the URL?

Thanks
Bünyamin Sever, geändert vor 8 Jahren.

RE: Velocity - get edit URL for asset

New Member Beiträge: 14 Beitrittsdatum: 22.04.15 Neueste Beiträge
Thank you for your help.

But with this i have following question/problems:
  • Am i able to open directly the edit mode for an entry without going into the control panel?
  • after use this URL, i will forwarded to edit mode, but the Structure-Selection is set to Default... the Template -selection is as before


i use following Code:

#set ($assetRenderer = $entry.getAssetRenderer())
#set ($editURL = $assetRenderer.getURLEdit($renderRequest,$renderResponse))
#set ($editURL = $editURL + "&_15_redirect=" + $currentURL)
Bünyamin Sever, geändert vor 8 Jahren.

RE: Velocity - get edit URL for asset

New Member Beiträge: 14 Beitrittsdatum: 22.04.15 Neueste Beiträge
after trying a little bit:


        ## create edit URL
            #set ($portletName = $themeDisplay.getPortletDisplay().getPortletName())
            #set ($plid = $getterUtil.getLong($themeDisplay.getPlid()))
            #set ($portletURL = $portletURLFactory.create($renderRequest, $portletName, $plid, "RENDER_PHASE"))
            #set ($windowState = $windowStateFactory.getWindowState("POP_UP"))
            #set ($assetRenderer = $entry.getAssetRenderer())
            #set ($editURL = $assetRenderer.getURLEdit($renderRequest,$renderResponse, $windowState, $portletURL))
Maryam Nabavi, geändert vor 7 Jahren.

RE: Velocity - get edit URL for asset

New Member Beitrag: 1 Beitrittsdatum: 19.01.15 Neueste Beiträge
Bünyamin Sever:
after trying a little bit:


        ## create edit URL
            #set ($portletName = $themeDisplay.getPortletDisplay().getPortletName())
            #set ($plid = $getterUtil.getLong($themeDisplay.getPlid()))
            #set ($portletURL = $portletURLFactory.create($renderRequest, $portletName, $plid, "RENDER_PHASE"))
            #set ($windowState = $windowStateFactory.getWindowState("POP_UP"))
            #set ($assetRenderer = $entry.getAssetRenderer())
            #set ($editURL = $assetRenderer.getURLEdit($renderRequest,$renderResponse, $windowState, $portletURL))



hi , i have this issue too
but when i use this solution , only last asset entry will be edited.
how can i get any asset entry edit URl separately?
Vaclav Bartos, geändert vor 6 Jahren.

RE: Velocity - get edit URL for asset

New Member Beitrag: 1 Beitrittsdatum: 12.04.17 Neueste Beiträge
Hi,
just put it in the loop and print links as html. Freemarker looks like this.
<#list entries as entry>
   <#assign portletName = themeDisplay.getPortletDisplay().getPortletName()>
   <#assign plid = getterUtil.getLong(themeDisplay.getPlid())>
   <#assign portletURL = portletURLFactory.create(renderRequest, portletName, plid, "RENDER_PHASE")>
   <#assign windowState = windowStateFactory.getWindowState("POP_UP")>
   <#assign assetRenderer = entry.getAssetRenderer())
   <#assign editURL = assetRenderer.getURLEdit(renderRequest,renderResponse, windowState, portletURL)>

   <a href="${editURL}" target="_blank">link to edit entry</a>

<!--#list-->


Thank you for the code, Bünyamin Sever