2012-02-20 4 views
2

사용자 정의 dataprovider를 사용하여 DropLink를 바인드하는 방법은 무엇입니까?Sitecore의 사용자 정의 dataprovider가있는 DropLink 데이터 소스 항목 참조

추가 정보 : Sitecore를 사용하여 제품 카탈로그 사이트를 구축하려고합니다. 사이트 링크 콘텐츠 트리의 각 제품에는 별표 등급과 짧은 텍스트 검토가 첨부되어있을 수 있습니다 (은 프로필 제공 업체로 확장 된 사용자에게 연결되지만 다른 질문은).

검토 정보를 외부 데이터베이스에 저장하고 사용자 지정 데이터 제공자를 사용하여 참조 할 계획입니다. 공유 소스 (here)에서 NorthwindDataProvider를 다운로드하고 평가가 첨부 된 테이블을 사용하여 검토의 첨부 파일에 sitecore의 제품 ID를 저장하는 uniqueidentifier 필드를 포함하도록 변경했습니다.

템플릿 필드는 드롭 링크이고 데이터 소스는 카탈로그의 제품으로 설정됩니다.

sitecore 컨텐츠 편집기를 사용하여 사용자 정의 dataprovider에서 리뷰를 편집 할 때 드롭 링크는 채워진 제품 중 하나를 선택하고 sitecore를 사용하여 저장하더라도 '선택 목록에없는 값'으로 표시됩니다.

ID를 데이터베이스에 저장하고 있지만 원시 값을 보면 중괄호없이 ID가 표시됩니다. 작업 드롭 링크 필드의 원시 값은 대괄호를 포함하는 것으로 보입니다.

리뷰를 만들려면 외부 datacontext를 사용하여 데이터베이스에 쓰는 웹 서비스에 jquery 게시물을 사용하고 있습니다. 대신 맞춤 Sitecore API를 사용하여 맞춤 dataprovider를 사용해야합니까?

사용자 정의 데이터 제공자를 사용하는 모든 정보가 유용 할 것입니다. 내가 찾을 수 있었던 문서는 모두 수행 할 수있는 것을 명시했지만 실제 구현을 찾기 위해 애 쓰고 있습니다.

+0

저를 도운 몇 가지 링크가 있습니다. http://www.techphoria414.com/Blog/2011/January/Black-Art-of-Sitecore-Data-Providers, 구현을 위해 http : //sdn.sitecore를 확인하십시오. .net/Resources/Shared % 20Source/Shared % 20Source % 205, -d-, 3/Data % 20Providers/SQL % 20Data % 20Provider/Downloads.aspx – Jim

답변

1

우선, 템플릿 필드가 있고 선택한 항목에 대한 GUID를 저장하는 드롭 링크를 사용하고 있습니다. 데이터 소스가 Sitecore 항목을 가리키고 있는지 아닌지에 대해서는 명확하지 않습니다.하지만 드롭 링크를 사용하는 경우 필수적입니다. 다음과 같이 가장 직접적인 방법으로이 작업을 수행하는 것이 좋습니다.

카탈로그 항목을 처리하는 논리를 처리 할 필드를 추가하는 템플릿을 만듭니다. 그렇게하는 방법을 선택하고 Sitecore는 항목을 처리하는 유일한 방법이므로 관심을 두지 않습니다. 관심있는 항목은 항목을 찾는 것입니다. 외부 데이터를 조작하는 비즈니스 논리를 작성합니다.

카탈로그 항목을 저장하는 폴더가 있으면 Sitecore의 규칙 엔진이나 정기적으로 실행되는 Sitecore 작업에 의해 스크립트 항목을 쉽게 작성하여 카탈로그 항목이 해당 항목을 추가/업데이트하거나 제거하도록 할 수 있습니다 Sitecore 항목 목록

구현하기가 더 복잡한 또 다른 옵션이지만 사이트에 여러 데이터 소스가있는 경우 유효한 방법은 Entity 프레임 워크와 같은 개체 프레임 워크를 데이터 개체 계층으로 사용하는 것입니다. 모든 데이터 소스를 사용하여 공통 객체를 만들고 채 웁니다.

희망이 있습니다.