2016-04-01 16 views
0

Bir atlıkarınca oluşturmaya çalışıyorum ve bunun Deneyim Düzenleyicisi'nden yapılandırılabilir olmasını istiyorum. tarafından yapılandırılabilir Ben resim, metin VE ekle/veya slaytları silmek mümkün olduğunu kastediyorum.Ayrı bir yer tutucuda öğeleri gösterme

Karuseli ilk oluşturduğumda slayt ekleyebilirim/silebilirim ancak kaydetmeden ve tekrar açtıktan sonra, karuseli oluşturduktan sonra, hepsi aynı yer tutucunun bir parçası oldukları için sadece bir slaydı kaldıramıyorum (I) yeni slaytlar eklemeye ve yeni olanları kaldırmaya devam edebilir, ancak eskileri değil).

Ben Carousel.cshtml ve CarouselSlide.cshtml ve benzeri kod göz:

<div class="carousel-slide"> 
    <div class="carousel-slide-content"> 
     @Html.Sitecore().BeginField(....) 
      <div class="background-image"> 
        ..... 
      </div> 

      <div class="text-container"> 
        .... 
      </div> 
     @Html.Sitecore().EndField() 
    </div> 
</div> 

Ancak bu sorunla benziyor

Carousel.cshtml

<div class="carousel"> 
    @foreach (Item slide in Model.Item.Children) 
    { 
     @Html.Action("CarouselSlide", "MediaFeature", new { model = slide }); 
    } 

    @Html.Sitecore().DynamicPlaceholder("slides") 

</div> 

CarouselSlide.cshtml yer tutucular ile ilgilidir. DynamicPlaceholders'ı nasıl oluşturacağınız hakkında herhangi bir fikir var mı?

DÜZENLEME

"slaytlar" tutucu tek CarouselSlide bileşenleri

+0

Slayt yer tutucularına birer slayt bileşen ekliyor musunuz?Veya, kullanıcının bir slaytlar kapsayıcı öğesine eklemek için slaytları seçtiği bir slayt veri şablonunuz var mı ve slaytlar kapsayıcı öğesini karusel bileşeninizden bir veri kaynağı olarak mı seçiyorsunuz? –

+0

@dnstommy Deneyim Düzenleyicisi – Melvinr

+0

okdan tek tek ekliyorum. Dinamik yer tutuculardaki doo için kontrol ettin mi? Yer tutucularınızın sonunda rehber bulunmalıdır. https://marketplace.sitecore.net/en/Modules/I/Integrated_Dynamic_Placeholders.aspx –

cevap

0

foreach döngüsü çıkarın izin verecek şekilde yapılandırıldı. Bu gereksizdir. Sitecore, yer tutucuyu oluşturduğunda, önceden eklenmiş slaytları sizin için oluşturur. Düzenleme modundayken, ek bileşenler eklemenize izin veren kabı da oluşturur.

Bir dinamik yer tutucuyu kullanarak, bir sayfada birden fazla Atlı Karınca bileşeni olmasını sağlayabilirsiniz. Ya da daha doğrusu, "slaytlar" anahtarıyla bir yer tutucu içeren birden fazla bileşen. Büyük olasılıkla slaytlarınızla karşılaştığınız sorunlara neden olmaz.

Güncelleme - OP

Size yaptıklarından benziyor tarafından istenen ek bilgi gelişiminin iki farklı stilleri karıştırmak olduğunu. Birinde, karusel öğesinin çocuklarını slaytlar olarak açıkça oluşturuyorsunuz. İkinci olarak, bileşenleri ağacın başka bir yerinden veri kaynaklarını kullanabilecek bir yer tutucuya dinamik olarak oluşturmak için Sitecore'un sunum motoruna güveniyorsunuz. Birini veya diğerini seçmelisiniz, ancak ikinci yaklaşım genellikle tercih edilir. İlk yaklaşım ile gitmeye karar verirseniz

<div class="carousel"> 
    @Html.Sitecore().DynamicPlaceholder("slides") 
</div> 

, sen tutucuyu kaldırın ve ardından oluşturma: Carousel görünümü bu gibi görünecek biçimde

ikinci yaklaşım kullanmak için tek yapmanız gereken foreach döngüsü ortadan kaldıracaktır Karusel öğenizin altına alt öğeleri ekleyip sıralamanızı sağlamak için Özel Deneyim Düğmeleri ekleyin.

Her iki yaklaşımda da, sayfa düzenleyicinin Carousel javascript'inizle o kadar iyi oynamadıklarını görebilirsiniz. Bu soruna en sık rastlanan çözüm, sayfa düzenleyici modunda karuseli düz liste haline getirmektir.

+0

öğelerinin bir listesini oluşturmam gerektiğidir. Mevcut slaytları oluşturmam gerektiğinde foreach döngüsü kullanılır. Örn: Ana sayfada bir karusel oluşturdum ve bu karuseli (tabii ki diğer slaytlarda da dahil olmak üzere) başka bir sayfada yeniden kullanmak istiyorum. Bu nedenle, mevcut slaytları oluşturmak için bir döngüye ihtiyacım var – Melvinr

+0

Bunu yapmak zorunda değilsiniz . Yer tutucu sizin için yapar. –

+0

Sizin dikkatinizi çekmiyorum, lütfen cevabınızı kodun nasıl görünmesi gerektiği konusunda günceller misiniz? Bence söylediğin şey, sadece bir öğe (slaytlar) listesi oluşturmama, ancak belirli bir yer tutucunun sadece bir parçasını oluşturmazsam çalışır. – Melvinr

İlgili konular