2009-10-09 4 views
1

게시 포틀릿 템플릿을 사용하여 사이트 모음을 설정하고 3 단계를 포함한 프로토 타입 사이트 구조를 작성했습니다. 두 번째 계층에서는 게시 사이트를 만들고이 사이트와 세 번째 계층의 자식에 대한 사용자 지정 마스터 페이지를 개발했습니다. 문제는 몇 페이지의 배너 그래픽이 일관성이 없어야한다는 것입니다. 그런 다음 두 개의 새로운 ContentPlaceHolder 컨트롤을 SharePoint Designer의 마스터 페이지에 추가하고 SharePoint 인터페이스를 사용하여 새 게시 페이지를 만듭니다. 마지막으로 SharePoint 개발자에게 올바른 마스터 페이지가 있는지 확인하고 내 ASP : 콘텐츠 컨트롤을 페이지에 추가하고 페이지 별 배너 그래픽을 삽입합니다. 유일한 문제는 마스터 페이지 기본 콘텐츠가 모든 페이지 인스턴스에서 계속 렌더링된다는 것입니다. SharePoint 디자이너의 마스터 페이지에서 새 페이지를 만드는 경우 게시 사이트에서 만든 페이지 기본 클래스와 다른 기본 클래스가 페이지 선언에 있습니다. 게시 사이트에서 SharePoint가 아닌 다른 contentPlaceHolders를 무시합니까?SharePoint 게시 페이지의 기본 마스터 페이지 내용을 무시할 수없는 이유는 무엇입니까?

답변

1

SharePoint ContentPlaceHolders & 비 SharePoint ContentPlaceHolders와 같은 것은 없습니다. 마스터 페이지 ContentPlaceholder에 기본 컨텐츠를 추가하고 컨텐츠 페이지에서이를 대체하지 않으면 해당 마스터 페이지를 사용하는 모든 페이지에서 볼 수 있습니다. 이를 없애기위한 유일한 방법은 컨텐츠 페이지에 빈 컨텐츠로 컨텐츠 플레이스 홀더를 대체하는 것입니다. 모든 Pages에서 contentPlaceHolder를 재정의 (override)하는 것은 좋은 Aproach가 아닙니다. 필자가 권장하는 것은 마스터 페이지의 ContentPlaceHolder에 콘센트를 배치하는 대신 콘텐트를 모든 페이지에 포함시키지 않고 필요로하는 페이지에만 제공하도록 페이지의 콘텐트 컨트롤 페이지에 콘텐트를 두는 것이다. 그렇습니다. 정확히 같은 내용을 여러 페이지에 넣는 것은 좋지 않습니다. 하지만 귀하의 경우에는 그것은 단지 옵션입니다. 코드를 한 곳만 업데이트 할 수 있도록 사용자 정의 컨트롤에 내용을 넣으려고 할 수도 있습니다.

+0

이 문제에 대한 추가 조사에서 내가 발견 한 것은 게시 사이트 종속성 체인에 대한 이해가 부족했기 때문입니다. 분명히 사이트를 게시하려면 마스터 페이지에서 상속받은 레이아웃 페이지 (.aspx 파일)를 사용해야합니다. 내 문제는 로컬 마스터 페이지가있는 하위 사이트에서 마스터 페이지를 수정하려고 시도했기 때문입니다. 내 게시 페이지가 루트 사이트 레이아웃 페이지에 구성 되었기 때문에 로컬 마스터 페이지의 변경 사항이 적용되지 않았습니다. 이제 여러 개의 루트 마스터 페이지를 가질 수 있는지 또는 로컬 마스터에서 로컬 레이아웃 페이지를 만들 수 있는지 알아야합니다. – ValueCoder

관련 문제