Файлы определения сайта SharePoint - Страница всегда называется «Домашняя страница» - PullRequest
0 голосов
/ 31 августа 2009

Я создаю новые определения сайтов, используя этот метод:

http://weblogs.asp.net/paulballard/archive/2007/04/09/creating-a-custom-sharepoint-2007-portal-site-definition-using-the-portalprovisioningprovider-class.aspx

и когда они создаются, они не используют «Заголовок» Сайта, как я ожидал, вместо этого они все говорят «Домой».

В моем файле 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>

Итак, я вижу, что он вытягивает Home из файла ресурсов, но я подумал, что он также должен добавить заголовок сайта в заголовок страницы. Это правильно?

Ответы [ 2 ]

1 голос
/ 01 сентября 2009

Ну, это зависит от дизайна страницы. Если вы посмотрите на страницу LifeWork.aspx , там будет содержание для заголовка. В зависимости от того, какое значение вы там разместите, ваша страница получит это значение. Например, несколько страниц имеют

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

У некоторых добавлено имя сайта. Посмотрите в этом теге, вы можете получить то, что вы хотите.

0 голосов
/ 29 октября 2009

К вашему сведению я переопределил ItemCreateEventHandler:

открытый класс ItemCreateEventHandler: SPItemEventReceiver { публичное переопределение void ItemAdded (свойства SPItemEventProperties) { пытаться { SPFile file = 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 { }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...