모델을 코딩하는 것만으로 Sitecore 템플릿을 자동으로 생성 할 수 있습니까? Sitecore 8.0을 사용하고 있는데 Glass Mapper Code First 접근법을 보았습니다.하지만 더 자세한 정보는 찾을 수 없습니다.Sitecore : Glass Mapper Code First
답변
하실 수 있습니다. 하지만 Glass와 관련된 것은 아닙니다.
코드는 먼저 Sitecore.PathFinder가 달성하고자하는 코드입니다. 그러나 아직 공개적으로 이용 가능한 많은 정보가 없습니다.
여기서 시작 : https://github.com/JakobChristensen/Sitecore.Pathfinder
감사합니다. – Makler
그것에 대해 많은 정보가없는 이유, 확실하지하지만 먼저 당신이 할 수 확실히 모델/코드! 그래서 같은 속성 구성 방법을 사용 작정 그것을 할이 작동 이제 어떻게
[SitecoreType(true, "{generated guid}")]
public class ExampleModel
{
[SitecoreField("{generated guid}", SitecoreFieldType.SingleLineText)]
public virtual string Title { get; set; }
}
합니다. 첫 번째 매개 변수에 대한 SitecoreType 'true'값은 codefirst에 사용될 수 있음을 나타냅니다. Sitecore의 Initialize 파이프 라인에서 실행되는 Initialize 메서드가있는 GlassCodeFirstDataprovider가 있습니다. 이 방법은 codefirst로 표시된 모든 구성을 수집하고 sql dataprovider에서 생성합니다. 섹션과 필드는 메모리에 저장됩니다. 상속도 고려합니다 (기본 템플릿).
먼저 Nuget을 통해 프로젝트를 설치할 때 GlassMapperScCustom 클래스의 일부 코드의 주석 처리를 제거해야한다고 생각합니다. PostLoad 메서드는 각 CodeFirstDataprovider의 Initialize 메서드를 실행하는 몇 줄을 포함합니다.
var dbs = global::Sitecore.Configuration.Factory.GetDatabases();
foreach (var db in dbs)
{
var provider = db.GetDataProviders().FirstOrDefault(x => x is GlassDataProvider) as GlassDataProvider;
if (provider != null)
{
using (new SecurityDisabler())
{
provider.Initialise(db);
}
}
}
또한 개발 초기에만 코드를 사용하는 것이 좋습니다. 패키지를 만들거나 평소와 같이 템플릿을 직렬화하고 다른 환경에 배포하여 데이터 제공자 (및 잠재적 인 위험)가 필요하지 않도록 할 수 있습니다.
TDS는 모델의 코드를 생성 할 수 있습니다. http://hedgehogdevelopment.github.io/tds/chapter6.html –
@JanBluemink를 참조하십시오. OP가 다른 방식으로 원한다고 확신합니다. 그는 먼저 모델을 코딩 한 다음 모델 클래스에서 Sitecore 템플릿을 생성하려고합니다. –
꼭 먼저 모델을 코딩하고 Sitecore 템플릿을 생성해야합니다. – Makler