代码之家  ›  专栏  ›  技术社区  ›  Arun Vinoth PrecogTechnologies

调整CRM Sitemap以针对不同的环境使用不同的URL导航

  •  0
  • Arun Vinoth PrecogTechnologies  · 技术社区  · 7 年前

    我们希望有不同的站点地图分区Url,以便站点地图可以独立于环境;当我们将环境从较高的区域刷新到较低的区域时,无需担心。即使是部署也可以避免错误&可以避免部署后活动中的手动步骤。

    开发人员:

    <SubArea Id="nav_hub" ResourceId="Hub_SubArea_Title" DescriptionResourceId="Hub_SubArea_Description" 
       ToolTipResourseId="Hub_SubArea_ToolTip" Icon="/_imgs/Hub_32.png" 
         Url="http://mydevhub.com/home.aspx" AvailableOffline="false" />
    

    UAT:

    <SubArea Id="nav_hub" ResourceId="Hub_SubArea_Title" DescriptionResourceId="Hub_SubArea_Description" 
        ToolTipResourseId="Hub_SubArea_ToolTip" Icon="/_imgs/Hub_32.png" 
           Url="http://myuathub.com/home.aspx" AvailableOffline="false" />
    

    有什么想法吗?

    2 回复  |  直到 6 年前
        1
  •  2
  •   Arun Vinoth PrecogTechnologies    7 年前

    我最终做了这个变通方法,因为我们无法将动态变量url传递给Sitemap。

    1、创建了一个子区域,其url用于自定义HTML web资源,如下所示:

    $webresource:pub/Scripts/External/navigation.html
    

    2、仅使用以下内容根据组织url打开一个新窗口:

    <html><head>
    <script src="../../../ClientGlobalContext.js.aspx" type="text/javascript"></script>
    <script language="javascript">
    var crmUrl = parent.Xrm.Page.context.getClientUrl();
    
    if (crmUrl.indexOf('devinstance.crm.dynamics.com') > 0)
                parent.window.open('http://mydevhub.com/home.aspx');
    
    if (crmUrl.indexOf('uatinstance.crm.dynamics.com') > 0)
                parent.window.open('http://myuathub.com/home.aspx');
    
    </script>
    </head><body>
    </body></html>
    
        2
  •  0
  •   A_R_    4 年前

    如果其他人在这里登陆(因为我还不能发表评论),那么提供的答案就不推荐了。

    实现这一目标的新方法是

    var globalContext = Xrm.Utility.getGlobalContext();
    globalContext.getClientUrl();
    

    ( Source )