모듈을 사용하여 하위 사이트에 마스터 페이지를 배포합니다
-
10-12-2019 - |
문제
Search-Center를 만들고 사용자 정의 마스터 페이지를 적용하고자합니다.모듈과 내 솔루션의 기능을 사용하여 MasterPage를 배포하려고합니다.모듈을 만들었고 Elements.xml은 처럼 보입니다.
<?xml version="1.0" encoding="utf-8"?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
<Module Name="SearchcenterModule" Url="Suche/_catalogs/masterpage">
<File Path="SearchcenterModule\minimal.master" Url="minimal.master" />
</Module>
</Elements>
.
사이트 수집 기능에서 내 기능을 활성화하면 오류가 발생합니다
(null) "suche"를 찾을 수 없습니다. ...
여기서 "suche"가 내 하위 사이트의 이름 인 I.E.e. :
http://mysharepoint/Suche
물론 파일을 수동으로 추가 할 수 있지만 기능 활성화를 사용하여 배포 할 수있는 방법이 있어야합니다.
도움말 주셔서 감사합니다.
해결책
솔루션을 모르지만 기능 범위를 웹에 설정하려고 시도 했으므로 Default Module Definition과 Suche 하위 사이트 에서이 모듈의 활성화를 사용하도록 시도 했습니까?
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
<Module Name="MasterPageModule" Url="_catalogs/masterpage">
<File Url="MasterPage.master" Type="GhostableInLibrary" IgnoreIfAlreadyExists="False" />
</Module>
</Elements>
.
작동하지 않으면 ~ 사이트 토큰을 사용하려고 시도 했습니까?
<Module Name="SearchcenterModule" Url="~Site/_catalogs/masterpage">
. 다른 팁
MasterPages 및 PageLayout은 사이트 / 하위 사이트가 아닌 SiteCollections에만 배포 할 수 있습니다.
그래서 기능을 범위 지정해야합니다.FeatureReceiver는 특정 SPWeb
에서 MasterPage를 설정할 수 있습니다.
<?xml version="1.0" encoding="utf-8"?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
<Module Name="SearchcenterModule" Url="_catalogs/masterpage">
<File Url="minimal.master" IgnoreIfAlreadyExists="TRUE" Type="GhostableInLibrary" />
</Module>
</Elements>
.
IgnoreIfAlreadyExists
를 사용하면 새로운 변경 사항이 나타나면 배포 할 때 덮어 씁니다.Type="GhostableInLibrary"
는 MasterPage & PageLayouts 갤러리에서 새로운 MasterPage / PageLayout이 표시되는지 확인합니다.