【问题标题】:Add Contact Page Owner EMAIL ONLY link to Master Page in SharePoint 2010添加联系人页面所有者电子邮件仅链接到 SharePoint 2010 中的母版页
【发布时间】:2012-01-12 10:44:46
【问题描述】:

我在 SharePoint 2010 Publishing 网站中,获得完整许可。我正在尝试在 v4.master 副本的自定义页脚中添加“联系页面所有者”电子邮件链接,该副本从页面属性中获取页面所有者的电子邮件地址:页面所有者,并在联系链接中使用该电子邮件地址.我尝试添加页面联系人 web 部件;这会强制输入页面所有者的姓名,并且单击会弹出有关页面所有者的一些信息(包括该电子邮件)。但是,我需要该链接说“联系页面所有者”。有什么想法吗?

【问题讨论】:

    标签: sharepoint contact master-pages


    【解决方案1】:

    如果您使用的是自定义母版页,您应该可以添加一个简单的 javascrip\jquery 来获取锚标记并将其文本更改为“联系页面所有者”。

    【讨论】:

      【解决方案2】:

      我也尝试添加“页面联系人”Web 部件,结果变得一团糟。尝试点击页面属性 > 页面所有者和/或页面所有者联系电子邮件。这个问题已回答here,但这里又是答案:

      您需要在您的网站上安装 jQuery 1.7.x+ 和 SPServices jQuery library 0.7.2 或更高版本。

      使用GetListItems 作为来自 SPServices 的操作。

      我在 Pages 目录中搜索页面,所以 listName 是“Pages”。请注意,列表页面和系统页面需要不同的处理方式。

      CAML 视图字段基本上是 PublishingContactEmail 和 PublishingContact 的列。我发现那些使用u2u's CAML builder version 4.0.0.0

      ows_变量可以在firebug中POST对象的xml视图中找到。

      ows_PublishingContact 返回联系人信息的长字符串。幸运的是,电子邮件地址被,# 包围,这使得将其拆分为一个数组,然后搜索电子邮件@ 很容易,但这就是它存在的原因。

      function get_page_contact_email() {    
          var thisPageID = _spPageContextInfo.pageItemId;    
          var e;    
          $().SPServices({    
              operation: "GetListItems",    
              async: false,    
              listName: "Pages",    
              CAMLViewFields: "<ViewFields><FieldRef Name='PublishingContactEmail' /><FieldRef Name='PublishingContact' /></ViewFields>",    
              CAMLQueryOptions: "<QueryOptions><ExpandUserField>True</ExpandUserField></QueryOptions>",    
              completefunc: function (xData, Status) {    
                  $(xData.responseXML).SPFilterNode("z:row").each(function () {    
                      if (thisPageID == $(this).attr("ows_ID")) {    
                          if ($(this).attr("ows_PublishingContactEmail")) { // if page email is set    
                              e = $(this).attr("ows_PublishingContactEmail");    
                          } else if ($(this).attr("ows_PublishingContact")) { //otherwise use contact info    
                              var contact = $(this).attr("ows_PublishingContact").split(",#");    
                              for (var c = 0; c < contact.length; c++) {    
                                  if (contact[c].indexOf("@") != -1) {    
                                      e = contact[c];    
                                  }    
                              }    
                          } else { //or nothing is set.    
                              e = false;    
                          }    
                      }    
                  });    
              }    
          });    
          return e;    
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-10-08
        • 2012-06-26
        • 1970-01-01
        • 2018-10-25
        • 1970-01-01
        相关资源
        最近更新 更多