我正在寻找一种方法来为我的SharePoint用户提供一种从现有模板创建新Wiki页面的方法。在研究过程中,我发现了一个似乎符合需求的精彩演练(http://www.mssharepointtips.com/tip.asp?id=1072&page=2),但是我无法让它发挥作用。问题似乎在于分配PATHTOWIKI的路径 - 如果我使用“/ Weekly Update Wiki”,脚本将返回错误“没有Web命名'/每周更新Wiki'。”如果我在没有正斜杠的情况下使用“每周更新维基”,我会收到“没有网名为'/ sites / [parentSite] / [childSite] /每周更新维基/每周更新维基”的错误。“
关于我在这里不理解的任何想法?
function myCreateProject() {
// Configure these for your environment
// include no slashes in paths
var PATHTOWIKI = "Weekly Update Wiki";
var PATHTOPAGES = "Pages";
// file name only for template page, no extension
var TEMPLATEFILENAME = "Template";
var myPathToWiki = encodeURIComponent(PATHTOWIKI);
var myPathToPages = PATHTOPAGES + "%2f";
var myTemplateFileName = encodeURIComponent(TEMPLATEFILENAME) + "%2easpx";
var EnteredProject = document.getElementById("NewProjName");
var myNewName = EnteredProject.value;
if(myNewName == "") {
alert('Please enter a name for the new project page');
} else {
myNewName = encodeURIComponent(myNewName) + "%2easpx"
$.ajax({
url: PATHTOWIKI + "/_vti_bin/_vti_aut/author.dll",
data: ( "method=move+document%3a14%2e0%2e0%2e4730&service%5fname="
+ myPathToWiki +
"&oldUrl=" + myPathToPages + myTemplateFileName +
"&newUrl=" + myPathToPages + myNewName +
"&url%5flist=%5b%5d&rename%5foption=nochangeall&put%5foption=edit&docopy=true"
),
success: function(data) {
var rpcmsg1 = getMessage(data, "message=", "<p>");
$("#myInfo").append("<br />" + rpcmsg1);
if(rpcmsg1.indexOf("successfully") < 0) {
// get error info
var rpcmsg2 = getMessage(data, "msg=", "<li>");
$("#myInfo").append("<br />" + rpcmsg2 + "<br />");
} else {
$("#myInfo").append("<br /><a href=\"/" + PATHTOWIKI + "/" + PATHTOPAGES + "/" + myNewName + "\">Go to new page</a><br />");
}
},
type: "POST",
beforeSend: function(XMLHttpRequest) {
XMLHttpRequest.setRequestHeader("X-Vermeer-Content-Type",
"application/x-www-form-urlencoded");
}
});
}
}
更新:我想出了在我的案例中需要发生什么。由于我无法掌握相对方法,我只是选择了PATHTOWIKI的绝对路径,并略微修改了ajax调用中的追加。
PATHTOWIKI:
var PATHTOWIKI = "https://[domain]/sites/[parentSite]/[childSite]";
追加:
$("#myInfo").append("<br /><a href=\"" + PATHTOWIKI + "/" + PATHTOPAGES + "/" + myNewName + "\">Go to new page</a><br />");
后一行代码的变化是微妙的;因为我在PATHTOWIKI中使用了绝对路径,所以我只删除了锚标记中的前导斜杠,以便<a href=\"/"
成为<a href=\""
。这使得脚本的可移植性稍差,但由于这是一次性的努力,我会坚持这一点,除非有任何扩展范围。