2011-12-04 5 views
0

私はSharePoint 2010の公開サイトのフルライセンスです。私は、ページ所有者の電子メールアドレスをページプロパティから取得するv4.masterのコピーのカスタムフッターに「連絡先ページ所有者」電子メールリンクを追加しようとしています。ページ所有者は、連絡先リンクでその電子メールアドレスを使用します。 Page Contact Webパーツを追加しようとしました。これはページ所有者の名前に強制され、クリックするとページ所有者に関する情報(その電子メールを含む)がポップアップ表示されます。しかし、私は、 "Contact Page Owner"というリンクが必要です。何か案は?連絡先の追加所有者電子メールのみSharePoint 2010のマスターページへのリンク

答えて

0

カスタマイズされたマスターページを使用している場合は、単純なjavascrip \ jqueryを追加してアンカータグを保持し、そのテキストを「コンタクトページ所有者」に変更することができます。

0

私はページ連絡先Webパーツも追加しようとしましたが、それは混乱になりました。ページのプロパティ>ページ所有者またはページ所有者連絡先メールをタップしてください。この質問はhereと回答しましたが、もう一度答えがあります:

サイトにjQuery 1.7.x +とSPServices jQuery libraryバージョン0.7.2以上がインストールされている必要があります。

SPServicesの操作としてGetListItemsを使用してください。

私は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;  
} 
関連する問題