首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将术语移动到另一个分支- JSOM

将术语移动到另一个分支- JSOM
EN

Stack Overflow用户
提问于 2015-03-12 14:47:44
回答 1查看 133关注 0票数 0

我需要做这样的事情。下面的图像有3个术语,我需要将我的术语3移动到我的术语1下(然后我的术语3将作为我的术语1的子术语。

如何使用JSOM,2013 Sharepoint实现这一点。在这里,我使用了我用来重用术语的代码,但重用意味着共享。我想重新使用这个术语,然后删除它,但它确实删除了这两个词。我只需要移动一下,你知道吗?MSDN没有给出moveTerm的方法。

代码语言:javascript
复制
function reuseTerm() {

    alert('check reuse');
    var sourceTermId = 'c0351a3d-5eec-454d-8bc6-4f3ac0992a84'; //Id of source Term
    var destTermId = '2085753f-2804-44c4-b16d-5b93cbbc989d';  //Id of Term below which a reused term will be created 

    var ctx = SP.ClientContext.get_current();
    var taxonomySession = SP.Taxonomy.TaxonomySession.getTaxonomySession(ctx);
    var sourceTerm = taxonomySession.getTerm(sourceTermId);
    var destTerm = taxonomySession.getTerm(destTermId);
    
    destTerm.reuseTerm(sourceTerm, true);//I need something like destTerm.moveTerm(sourceTerm, true);
   
    ctx.executeQueryAsync(
        function () {
            alert('Reused term has been created');
        },
        function (sender, args) {
            alert(args.get_message());
        });



}

EN

回答 1

Stack Overflow用户

发布于 2015-03-12 16:48:57

使用SP.Taxonomy.Term.move Method将当前Term对象移动为不同术语的子项。

示例

代码语言:javascript
复制
function moveTerm(sourceTermId,targetTermId,success,error)
{
    var ctx = SP.ClientContext.get_current();
    var ts = SP.Taxonomy.TaxonomySession.getTaxonomySession(ctx);
    var termStore = ts.getDefaultSiteCollectionTermStore();
    var sourceTerm = termStore.getTerm(sourceTermId);
    var targetTerm = termStore.getTerm(targetTermId);
    sourceTerm.move(targetTerm);
    ctx.executeQueryAsync(success,error);
}

使用

代码语言:javascript
复制
SP.SOD.registerSod('SP.ClientContext', SP.Utilities.Utility.getLayoutsPageUrl('sp.js'));
SP.SOD.registerSod('SP.Taxonomy.TaxonomySession', SP.Utilities.Utility.getLayoutsPageUrl('sp.taxonomy.js'));
SP.SOD.loadMultiple(['SP.ClientContext', 'SP.Taxonomy.TaxonomySession'], function(){

   var sourceTermId = 'source-term-guid';
   var targetTermId = 'target-term-guid';

   moveTerm(sourceTermId,targetTermId,
     function(){
        console.log(String.format('Term {0} has been moved under Term {0}',sourceTermId,targetTermId));
     },
     function(sender,args){
        console.log(args.get_message());
     });
});
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29003455

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档