检查页面是否使用服务器端代码发布我应该使用此代码段:
$this->assertTrue($this->similar_arrays($arr1, $arr2));
protected function similar_arrays($a, $b) {
if(is_array($a) && is_array($b)) {
if(count(array_diff(array_keys($a), array_keys($b))) > 0)
return false;
foreach($a as $k => $v) {
if(!$this->similar_arrays($v, $b[$k]))
return false;
}
return true;
}
else
return $a === $b;
}
我怎么能这样做但在SharePoint中使用Javascript?
答案 0 :(得分:0)
根据SP.Publishing.PublishingWeb Methods,JSOM API不支持方法GetPublishingPages
。
但您可以考虑使用以下示例来确定是否使用JSOM API发布页面
function getPublishingPages(success,error)
{
var ctx = SP.ClientContext.get_current();
var list = ctx.get_web().get_lists().getByTitle('Pages');
var items = list.getItems(SP.CamlQuery.createAllItemsQuery());
ctx.load(items,'Include(File)');
ctx.executeQueryAsync(function() {
success(items);
},
error);
}
SP.SOD.executeFunc('SP.js', 'SP.ClientContext', function() {
getPublishingPages(printPagesInfo,logError);
});
function printPagesInfo(pages)
{
pages.get_data().forEach(function(item){
var file = item.get_file();
var pageStatus = file.get_level() === SP.FileLevel.published ? 'published' : 'not published';
console.log(String.format('Page {0} is {1}', file.get_name(),pageStatus));
});
}
function logError(sender,args){
console.log('An error occured: ' + args.get_message());
}