2016-10-31 6 views
1

UserPart이 첨부 된 사용자 정의 유형을 생성했습니다.CommonPart없이 컨텐트 항목을 컨텐트 목록에 표시하려면 어떻게합니까?

this issue on GitHub에 따르면 당신은이 StackOverflowException가 발생하기 때문에 또한 UserPart이있는 CommonPart 콘텐츠를 추가 할 수 없습니다하지만, 난 여전히 내 사용자 지정 유형의 항목은 콘텐츠 목록에 표시하는 것처럼. 사용자 정의 PartRecord에 이미 CreatedUtc와 PublishedUtc를 저장하고 있으며, 수동으로 어딘가에 플러그인 할 수 있습니까?

편집 : 명확한 설명을 위해, 지금까지 개인 응용 프로그램에서 사용 된 기존 데이터를 기반으로 오차드 웹 사이트를 공개적으로 구축하고 있습니다. Orchard 사용자에게 매핑해야하는 사용자 계정이있는 기존 테이블이 있지만 방문자가 탐색 할 수 있어야하고 오차드 관리자가 쉽게 대시 보드를 통해 편집하고 만들 수 있어야하는 여행사를 나타냅니다. Sipke's webshop tutorial

답변

1

콘텐츠 유형에 콘텐츠 목록에 표시 할 필요가없는 콘텐츠 유형을 UserPart와 함께 만드는 TravelAgency 유형을 만들 생각입니다. 당신의 마이그레이션에서 Creatable()을 트리거함으로써 내가 올바르게 기억하고있다. 또한 UserPart가 있으면 Lazy 로딩하거나 Foreign Key를 통해 참조 만 할 수 있습니다.

왜 콘텐츠 목록에 포함되기를 바라시겠습니까? 일반적으로 비즈니스 관련 콘텐츠 형식을 멋진 섹션에 넣어두면 사용자가 쉽게 시각화하고 사용할 수 있습니다.

분명히 버그는 있지만 태스크를 수행하기 위해 분류 체계를 확장 할 수 있으며 때로는 오차드 코드베이스를 변경하는 것이 목적에 맞을 수도 있다는 점을 기억하면 다음에 업그레이드 할 때 변경 사항을 추적하면됩니다. 나는 내 프로젝트에 맞는 두어 번 해왔다.

콘텐츠 목록이 만들어진 핵심 코드를 보면 Creatable() 유형을 찾습니다. 코드 내부를 더 자세히 살펴보면 담당 쿼리가 CommonPart에 가입 할 가능성이 있으므로 문제가 발생할 수 있습니다. 컨트롤러에 다른 쿼리를 쉽게 추가하고 이후의 모든 쿼리를 추가 할 수 있습니다. 그래도 문제는 귀하의 유형을 수용하기 위해 나머지 작업을 리 팩토링합니다. 새 유형을 쉽게 분리 할 수 ​​있습니다. 이 아기를 확인해야합니다. Orchard.Core.Contents.Controllers.AdminController

+0

글쎄, 콘텐츠 유형은 생성 가능하고 목록으로 표시 할 수 있지만 콘텐츠 목록에는 표시되지 않습니다. CommonPart를 첨부하고 다시 게시하십시오. CommonPart를 제거하면 항목이 목록에서 다시 사라집니다. 제 경우에는 유형이 비즈니스 관련 사항이 아닙니다. 방문자와 프런트 엔드에서 상호 작용할 수있는 사용자와 무언가입니다. – Lawyerson

+0

나는 그것이 당신의 문제가 궁극적으로 어디에 있는지 생각합니다. 시나리오를 조금 더 잘 설명 할 수 있다면 해결 방법을 찾을 수있을 것입니다. – ErMasca

+0

내 특정 시나리오는 지금까지 개인 응용 프로그램에서 사용 된 기존 데이터를 기반으로 오차드 웹 사이트를 공개적으로 구축한다는 것입니다. Orchard 사용자에게 매핑해야하는 사용자 계정이있는 기존 테이블이 있지만 방문자가 탐색 할 수 있어야하며 관리자가 대시 보드를 통해 쉽게 편집하고 만들 수 있어야하는 여행사를 나타냅니다. 나는 [Sipke의 webshop 튜토리얼] (http://www.ideliverable.com/blog/writing-an-orchard-webshop-module-from-scratch-part-8)의 UserPart를 사용하여 TravelAgency 유형을 만드는 아이디어를 얻었다. – Lawyerson

관련 문제