添加 link Sharepoint 2013 时如何更改默认值
How to change the default values when add link Sharepoint 2013
在添加 Link 页面中,是否可以使用 URL 参数更改标题、地址等默认值,将这些 link 显示为?
根据this,sharepoint2010好像可以。有谁知道2013年行不行??
如果没有,是否可以通过 post REST API 添加一个 link??
这个问题可以通过以下步骤解决。
添加自定义操作。只需按照步骤 here.
我的例子代码如下
SP.SOD.executeFunc("callout.js", "Callout", 函数() {
var itemCtx = {};
itemCtx.Templates = {};
itemCtx.BaseViewID = 'Callout';
// 定义列表模板类型
itemCtx.ListTemplateType = 101;
itemCtx.Templates.页脚=函数(itemCtx){
// 上下文,自定义操作函数,显示 ECB 菜单(布尔值)
return 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);
}
创建一个新的添加 link 页面,该页面是从 "quicklinksdialogform.aspx" 复制而来的。我添加一些 javascript 如下。
$(初始化)
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;
}
效果如下
在添加 Link 页面中,是否可以使用 URL 参数更改标题、地址等默认值,将这些 link 显示为? 根据this,sharepoint2010好像可以。有谁知道2013年行不行??
如果没有,是否可以通过 post REST API 添加一个 link??
这个问题可以通过以下步骤解决。
添加自定义操作。只需按照步骤 here.
我的例子代码如下
SP.SOD.executeFunc("callout.js", "Callout", 函数() { var itemCtx = {}; itemCtx.Templates = {}; itemCtx.BaseViewID = 'Callout'; // 定义列表模板类型 itemCtx.ListTemplateType = 101; itemCtx.Templates.页脚=函数(itemCtx){ // 上下文,自定义操作函数,显示 ECB 菜单(布尔值) return 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); }
创建一个新的添加 link 页面,该页面是从 "quicklinksdialogform.aspx" 复制而来的。我添加一些 javascript 如下。
$(初始化)
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; }
效果如下