2009-08-31 7 views
0

命名されます私が期待していたように、彼らはすべて「家」と言います。のSharePointサイト定義ファイルは、ページは常に私は、このメソッドを使用して新しいサイト定義を作成しています「ホーム」

私は次のように使用しています私のSiteTemplates/customsite/ONET.XMLファイルで:

<Module Name="LifeWork" Url="$Resources:cmscore,List_Pages_UrlName;" Path=""> 
     <File Url="default.aspx" Type="GhostableInLibrary" Level="Draft"> 
     <Property Name="Title" Value="$Resources:cmscore,IPPT_HomeWelcomePage_Title;" /> 
     <Property Name="PublishingPageLayout" Value="~SiteCollection/_catalogs/masterpage/LifeWork.aspx, Life &amp; Work Page Layout" /> 
     <Property Name="ContentType" Value="LifeWork" /> 
     <Property Name="PublishingAssociatedContentType" Value=";#NibrLifeWork;#0x010100C568DB52D9D0A14D9B2FDCC96666E9F2007948130EC3DB064584E219954237AF3900B92C2841B98136F108;#" /> 
     </File> 
    </Module> 

だから私はそれがリソースファイルからホーム引っ張っだことがわかり、私は、それはまたのタイトルを追加しなければならないと思いましたサイトをページのタイトルに追加します。これは正しいです?

答えて

1

それはページがどのように設計されているかによって異なります。ページLifeWork.aspxを見ると、タイトルのcontentplaceholderがあります。そこにあなたが置かれている価値に基づいて、あなたのページはその価値を得るでしょう。たとえば、いくつかのページには、

<SharePoint:FieldValue ID="x" FieldName="Title" ....... 

があります。一部のサイトにはサイト名が付いています。そのタグを見て、あなたが望むものを得ることができます。

0

はFYI私はItemCreateEventHandlerをオーバーライド巻き上げる:

パブリッククラスItemCreateEventHandler:SPItemEventReceiver { 公共オーバーライドボイド(SPItemEventProperties性)ItemAdded { が { SPFILEファイル= properties.ListItem.Fileを試してみてください。 SPWeb web = properties.OpenWeb();

  PublishingWeb pubweb = PublishingWeb.GetPublishingWeb(web); 
      if (file.UniqueId == pubweb.DefaultPage.UniqueId) 
      { 
       if (file.Title != pubweb.Title) 
       { 
        file.CheckOut(); 
        file.Item["Title"] = pubweb.Title; 
        file.Item.Update(); 
        file.CheckIn(""); 
       } 
      } 
      web.Dispose(); 
      pubweb.Close(); 
     } 
     catch { } 
    } 
} 
関連する問題