2016-05-10 16 views
1

Das Szenario Sitecores 8 Website haben wir eine Komponente Related Video-Panel genannt, das ein Feld für den Titel hat, und einen Platzhalter, der Editor auf sie Related Video fallen können Komponenten mit dem Experience Editor.Nested Sitecores Komponenten falsche Darstellungen zeigt

Related Video-Panel und Related Video sind beide MVC-Controller-Renderings über GlassMapper bevölkert.

Die Ausgabe - Schritte (über Experience Editor alle) neu erstellen

  1. Tropfen Related Video-Panel auf der rechten Schiene. Wenn Sie zur Eingabe der Datenquelle aufgefordert werden, wählen Sie erstellen Sie neu und nennen Sie es Panel1.
  2. Speicher
  3. Drop eine Related Video Komponente auf der Platte in Schritt 1 erstellt
  4. Speicher
  5. durch das gesamte Bauteil aus der rechten Schiene Entfernen Sie die roten X
  6. Speicher.
  7. Wiederholen Sie Schritt 1, erneut eine brandneue Platte zu schaffen, es Panel2

Nach dem Schritt 7, erwartete ich ein ähnliche Videos Panel-Benennung ein leerer Related Video-Panel, sondern wir werden vorgestellt mit Ähnliche Videos bereits hinzugefügt.

Fehlerbehebung bisher Ich habe getestet, dass das Panel neu war, indem ich jedes Mal einen Titel hinzufügte, wenn ich es auf die Seite legte. Der Titel ist jedes Mal frisch, daher weiß ich, dass er ein neues Fenster zeigt, selbst wenn die Renderings nicht korrekt angezeigt werden.

Ich habe auch überprüft, dass die Präsentationsdetails auf der neuen Registerkarte leer sind, so dass keine Renderings explizit für die Präsentationsdetails des Elements festgelegt sind, die sie anzeigen würden.

Ich verifizierte, dass es mit dem bestimmten Platzhalter verwandt sein muss, da, wenn ich die oben genannten Schritte auf einem anderen Platzhalter auf derselben Seite befolge, bekomme ich das leere Feld wie erwartet.

Zusammenfassung Dies scheint, wie es ein Sitecores Fehler sein könnte, obwohl ich es ohne weitere Untersuchung/Diskussion gehen zögern. Es könnte etwas anderes in meiner Konfiguration sein, das dies vermasselt. Ich bin ratlos und bin mir nicht sicher, was ich sonst untersuchen soll. Ich könnte auch ein Ticket mit Sitecore öffnen. Hat jemand Erfahrung mit einem solchen Problem?

+4

Dies ist das Standardverhalten von Sitecore. Wenn Sie das Panel entfernen, werden die verschachtelten Komponenten nicht entfernt. Sie können dies überprüfen, indem Sie die Komponenten in den Präsentationsdetails überprüfen. Wenn Sie das Panel erneut hinzufügen, wird die vorhandene Komponente weiterhin an den Panel-Platzhalter gebunden und somit wieder angezeigt. – jammykam

+0

Ich hätte nie gedacht, dass es so funktioniert, aber es macht Sinn. Ich werde heute Abend mehr damit spielen. – tjans

+2

@jammykam Ich würde deinen Kommentar in eine Antwort umwandeln. –

Antwort

1

Das von Ihnen beschriebene Problem ist das Standardverhalten in Sitecore. Wenn Sie ein Steuerelement entfernen, das den Platzhalter definiert, werden die in diesen Platzhaltern platzierten Komponenten nicht entfernt, sondern verbleiben verwaist.Sie können dies überprüfen, indem Sie sich die Präsentationsdetails ansehen und überprüfen, ob diese verschachtelten Renderings noch aufgeführt sind. Wenn Sie das Panel erneut mit dem Platzhalter hinzufügen, werden die vorhandenen Renderings wieder angezeigt, da sie immer noch an diesen Platzhalterschlüssel gebunden sind.

Sie müssten einen benutzerdefinierten Code schreiben, indem Sie in item:saving einhaken und dann das Feld Layout/endgültiges Layout für alle verwaisten Renderings überprüfen und dann entfernen.

+0

Das habe ich heute früher bestätigt und es macht durchaus Sinn, warum alles passiert ist. Vielen Dank! – tjans