2017-02-20 7 views
2

asxx 페이지에 3 번 이상 있어야하는 ascx 내에 CMSEditableRegion 컨트롤이 3 개 있습니다.복수 CMSEditableRegion in ascx?

문제는 각 영역 컨트롤에 항상 마지막 세트의 내용이 포함되어 있다는 것입니다.

약간의 연구를 한 후, 컨트롤의 ID로 데이터베이스의 컨트롤 내용을 저장한다는 것을 알았습니다. 첫 번째 CMSEditableRegion의 콘텐츠가 마지막 CMSEditableRegion의 콘텐츠로 덮어 쓰게됩니다. 동일한 서버 ID를 가진 3 개 이상 - ascx 당 하나). 글쎄, 오히려 그것은 Kentico 5를위한 것이 었습니다. 그러나 제가 보는 것은 이것을지지하는 경향이 있습니다. 불행히도 Kentico 5에서 찾은 솔루션은 Kentico 10에서는 작동하지 않습니다.

aspx 페이지에 여러 번 표시 될 ascx에서 여러 CMSEditableRegion 컨트롤을 사용할 수 있습니까?

편집 : 우리는 실제로 포털 관리자 (올바르게)를 사용하고 있으며 마스터는 지정된 Kentico 문서를 사용하여 설정됩니다.

답변

0

포털 엔진을 사용할 때 원하는만큼 많이 가질 수 있으며 aspx 개발 모델에 적용해야합니다. the example을 (를) 수행 했습니까?

select CONVERT(xml,DocumentContent), * from cms_document where documentid = 123 

당신이 웹 파트를 (포털 엔진이 CMSEditableRegion하는 것과 동일) 저장할 때 XML은 다음과 같습니다 :

<content> 
    <webpart id="editabletext1;fe77e447-3af4-440f-a736-7c1e321cb3fc">456</webpart> 
    <webpart id="editabletext;3bb22493-8e7d-47c1-9dc0-dfc5aeff3157">123</webpart> 
</content> 
나는 XML이 제대로 저장되었는지 확인하기 위해 DB 내부에 보일 것이다

너는 똑같아 보이거나 비슷해야한다. 그것은 ID 또는 바인딩을 할 무언가가있을 수 있습니다.

+0

kentico 설명서에 따라 마스터 설정 및 포털 관리자/엔진을 만들었습니다. – MetalPhoenix

0

난 당신이 포털 관리자를 누락 생각 :

<cms:CMSPortalManager ID="manPortal" runat="server" EnableViewState="false" /> 

그러나 가장 쉬운 방법은이 CMSTemplates/CorporateSite에 Kentico APX 서식 파일을 열 수 있습니다 작동하는지 이해 할 수 있습니다. 여기에는 홈 페이지 템플릿 (HomeASPX.aspx)이있는 마스터 페이지 (root.master)가 있습니다. 마스터에서는 포털 관리자가 배치 된 것을 볼 수 있으며 가정에서는 원하는만큼 편집 가능한 영역을 추가 할 수 있습니다. 나는 이것을 시도했다.

호프가 문제를 해결할 수 있기를 바랍니다.

+0

아니, kentico 문서에 따르면 거기에 포털 관리자가 있습니다. – MetalPhoenix

+0

CMSTemplates/CorporateSite의 Kentico ASPX 템플릿에서 어떻게 수행되었는지 확인 했습니까? –

+0

* 글자 그대로 * 문서에서 직접 복사/붙여 넣기 : https://docs.kentico.com/k10/developing-websites/developing-websites-using-aspx-templates/creating-master-pages-for -aspx-templates – MetalPhoenix

2

CMSEditableRegion의 제어 ID가 고유해야 각 인스턴스의 데이터가 데이터베이스에 개별적으로 저장되어야합니다.

웹 파트 ascx의 코드 숨김 파일에서 컨트롤의 ID를 설정하면이 작업을 수행 할 수 있습니다. 고유 ID에 의해 여기서 생성되는

cerContent.ID = this.ID + cerContent.ID; 

놓습니다 ASCX에 CMSEditableRegion ...

<cms:CMSEditableRegion runat="server" ID="cerContent" RegionTitle="WYSIWYG" RegionType="HtmlEditor" /> 

... 그리고 뒤에있는 코드에서 컨트롤의 ID를 설정 ... 컨트롤의 ID를 this.ID과 연결하면 페이지에 배치 할 때 웹 파트 인스턴스의 고유 ID입니다.

나를 위해 Works for Kentico 10.