在“添加链接”页面中,是否可以通过使用URL参数更改默认值,例如标题,地址,显示这些链接? 根据{{3}},在sharepoint2010中似乎有可能。有谁知道它在2013年是否可行?
如果没有,是否可以通过发布REST API添加链接?
答案 0 :(得分:0)
此问题可以通过以下步骤解决。
添加自定义操作。只需按照步骤here。
在我的情况下,代码如下
SP.SOD.executeFunc(“ callout.js”,“ Callout”,function(){ var itemCtx = {}; itemCtx.Templates = {}; itemCtx.BaseViewID ='标注'; //定义列表模板类型 itemCtx.ListTemplateType = 101; itemCtx.Templates.Footer = function(itemCtx){ //上下文,自定义操作功能,显示ECB菜单(布尔) 返回CalloutRenderFooterTemplate(itemCtx,AddCustomAction,true); }; SPClientTemplates.TemplateManager.RegisterTemplateOverrides(itemCtx); });function AddCustomAction(renderCtx, calloutActionMenu) {
// Add your custom action
calloutActionMenu.addAction(new CalloutAction({
text: "FAVORITE",
// tooltip: 'This is your custom action',
onClickCallback: function() {
CreateCustomNewQuickLink(renderCtx.CurrentItem.FileLeafRef, renderCtx.CurrentItem.FileRef);
}
}));
// Show the default document library actions
CalloutOnPostRenderTemplate(renderCtx, calloutActionMenu);
}
function CreateCustomNewQuickLink(title, url) {
var urlAddress = $(location).attr('protocol') + "//" + $(location).attr('host') + '/_Layouts/quicklinksdialogformTEST.aspx?Mode=Link' +
'&title=' + encodeURIComponent(title) +
'&url=' + encodeURIComponent(url);
ShowNewQuicklinkPopup(urlAddress, PageRefreshOnDialogClose);
}
创建一个新的添加链接页面,该页面是从“ quicklinksdialogform.aspx”复制而来的。我添加了一些JavaScript,如下所示。
$(init)
function init() {
var args = new Object();
args = GetUrlParms();
if (args["title"] != undefined) {
$(".ms-long")[0].value = decodeURIComponent(args["title"]);
}
if (args["url"] != undefined) {
$(".ms-long")[1].value = decodeURIComponent(args["url"]);
}
}
function GetUrlParms() {
var args = new Object();
var query = location.search.substring(1);
var pairs = query.split("&");
for (var i = 0; i < pairs.length; i++) {
var pos = pairs[i].indexOf('=');
if (pos == -1) continue;
var argname = pairs[i].substring(0, pos);
var value = pairs[i].substring(pos + 1);
args[argname] = unescape(value);
}
return args;
}
它的工作原理如下