Como implantar um item de menu de contexto personalizado?
-
10-12-2019 - |
Pergunta
Criei uma página personalizada do aplicativo SharePoint e agora quero abri-la no bloco de controle de edição (menu de contexto do item).Meu XML não compila porque está me dizendo que tenho caracteres ilegais no URL.O &
personagens estão causando isso.Mas se eu usar &
em vez disso, posso compilar e implantar, mas o URL está errado.Isso ocorre porque o JavaScrit entende &
personagens, onde o Visual Studio não me deixa passar.
<?xml version="1.0" encoding="utf-8"?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
<CustomAction Id="SPTest.CustomMenuItem.ButtonClicked"
RegistrationType="ContentType"
RegistrationId="0x0101"
Location="EditControlBlock"
ImageUrl="/_layouts/IMAGES/workflows.gif"
Sequence="600"
Title="My custom menu"
Description="Click to my custom menu.">
<UrlAction Url="javascript:OpenPopUpPageWithTitle('~site/_layouts/SP/MyAppPage.aspx?ListId={ListId}&ItemId={ItemId}', RefreshOnDialogClose, 530, 300, 'My custom menu')"/>
</CustomAction>
</Elements>
Como formato o URL?Encontrei o exemplo que usei para meu código aqui.
Solução
Ok, encontrei a solução.No parâmetro URL da função JavaScript, em vez de ~site
, eu deveria ter usado {SiteUrl}
.
Portanto, o nó UrlAction deve ser:
<UrlAction Url="javascript:OpenPopUpPageWithTitle(
'{SiteUrl}/_layouts/SP/MyAppPage.aspx?ListId={ListId}&ItemId={ItemId}',
RefreshOnDialogClose,
530,
300,
'My custom menu')"/>
Licenciado em: CC-BY-SA com atribuição
Não afiliado a sharepoint.stackexchange