2012-07-02 6 views
0

저는 DNN을 배우는 .NET 개발자로서 스킨에 재사용 가능한 코드를 만들 수있는 방법을 알고 싶습니다. 내가하고 싶은 것은 머리글과 바닥 글 섹션을 파일 (masterpage와 같은)로 만든 다음 머리글/바닥 글 파일을 가져 와서 중첩 된 마스터 페이지와 같은 웹 사이트에 사용할 스킨을 만드는 것입니다). 스키닝 할 때이 작업을 수행 할 수있는 방법이 있습니까? 나는 웹 사이트의 나머지 부분을 위해 홈 페이지 스킨과 스킨을 만드는 것을 막기 위해 노력하고 있습니다. 홈 페이지와 웹 사이트에서 머리글과 바닥 글 부분이 항상 동일한 경우.재사용 가능한 스키닝 코드?

가장 큰 일은 여러 곳에서 변경하지 않으려는 경우입니다.

어떻게해야합니까?

+0

[DotNetNuke - Header, Content and Footer] 가능한 중복 (http://stackoverflow.com/questions/10512989/dotnetnuke-header-content-and-footer) – bdukes

답변

0

DNN에 대한 스킨을 만들면 본질적으로 말하는 "마스터 페이지"입니다. 따라서 '스킨'을 만들 때 페이지 레이아웃을 만들 때 전체 사이트에 대해 하나의 스킨 레이아웃 만 사용하게됩니다.

홈 페이지가 나머지 콘텐츠 페이지와 다른 경우 전체 스킨을 두 개 만들 필요는 없지만 두 개의 레이아웃을 만들어야합니다. 차이점은 콘텐츠의 중간 부분에 있습니다. 하나의 스킨에는 스킨을 파싱하고 포털에 포함 할 때 두 개의 .ascx 파일로 변환되는 두 개의 HTML 파일이 있습니다 (HTML을 통해 스킨을 만드는 경우) .ascx를 똑바로 수행하면, 두 개의 .ascx 파일 레이아웃).

레이아웃에있는 ContentPane 창 레이아웃 방법은 다음과 같습니다. 홈 페이지의 경우 콘텐츠 페이지와 다른 위치에 표시됩니다. 예를 들어 홈 페이지에 머리글 아래에 회 전자가 있고 사이드 바가없는 단일 섹션에 내용이 전체 너비가 있고 아래에 바닥 글이 있으면 ContentPane은 전체 너비 가운데에 있습니다.

콘텐츠 페이지의 머리글과 바닥 글은 같을 수 있지만 왼쪽이나 오른쪽의 사이드 바 (또는 두 콘텐츠 모두 단일 콘텐츠 페이지에서 사용할 수 있고 사용하지 않으면 두 콘텐츠가 모두 표시되지 않을 수 있습니다.)가있을 수 있습니다. 그러면 ContentPane을 왼쪽 (또는 오른쪽)으로 떠서 사이드 바를 오른쪽 (또는 왼쪽)으로 가져갈 수 있도록 페이지를 레이아웃합니다.

기본적으로 동일한 워크 플로를 사용하여 정적 사이트를 레이아웃하지만 콘텐트의 위치에 따라 콘텐츠 창을 사용한다는 점을 명심해야합니다.

크리스 해몬드 (Chris Hammond)가 DotNetNuke에서하는 DotNetNuke 비디오의 일부를 듣는 것이 좋습니다. 그것들은 본격적인 세부 작업을 수행하고 토큰을 추가하는 간단한 HTML부터 똑바로 .ascx 및 레지스터 사용을 통해 모든 스키닝 단계를 안내합니다.

http://vimeo.com/dnnvideo