Kann mir jemand sagen, wie man SiteEdit-spezifische Syntax oder Tags in der Razor-Vorlage im DD4T-Code verwendet? Ich habe Site Edit-bezogene Klassen darin gesehen, konnte aber nicht nachvollziehen, wie SiteEdit-Tags in der Ansicht verwendet werden, in der eine ähnliche Syntax wie Dreamweaver RenderComponentField
oder tcdl:ComponentField
in Dreamweaver verwendet wurde. Ich bin sehr neu in DD4T und verwende SiteEdit 2009 SP3 und SDL Tridon 2011 SP1.
Vielen Dank im Voraus.
Update: Wir haben die in der Antwort erwähnte Implementierung ausprobiert, aber leider erhalten wir einen Fehler, wenn wir auf die Seite im Proxy zugreifen: "Ungültige Vorlage -Der HTML-Code ist ungültig, wahrscheinlich, weil Ihr Vorlagencode ungültigen HTML-Code erzeugt ap-Tag innerhalb eines anderen p-Tags. Überprüfen Sie Ihren HTML-Code mit einem Validator wie dem W3C Markup Validation Service, korrigieren Sie Ihre Vorlage und veröffentlichen Sie sie erneut. " Ich schätze, das liegt daran, dass Xml-Inhalte aufgrund der Verwendung von dynamischen Seiten- und Komponenten-TBBs, die wir in unseren Komponenten- und Seitenvorlagen verwendet haben, in die HTML-Seite geschoben werden.
Lasst uns wissen, wie wir weitermachen können.
Das SiteEdit-Markup wird nicht wie in einer Dreamweaver-Vorlage generiert. Sie sind selbst dafür verantwortlich, das Markup für Ihre bearbeitbaren Felder in der Razor-Ansicht zu platzieren. Das Gute daran ist, dass es für SiteEdit 2009 SP3 und UI 2012 ähnlich funktioniert. Nachteil für UI 2012 ist, dass es (noch) nicht der Inline-Bearbeitung zuhört, die Sie für die Komponenten- oder Seitenvorlagen festlegen können berücksichtigen für eine zukünftige DD4T-Version).
Alles basiert auf der Klasse DD4T SiteEditHelper
. Sie beginnen in Ihrer Seitenansicht (vor dem </body>
-Tag), indem Sie den folgenden Aufruf eingeben:
Dadurch wird das Seiten-Markup ausgegeben, und wenn Sie in Ihrer SiteEdit_config.xml den Stil auf "SiteEdit2012" setzen, wird auch das für die UI 2012 erforderliche Bootstrap-Skript ausgegeben.
Dann müssen Sie für jede Komponentenpräsentation und jedes bearbeitbare Komponentenfeld das entsprechende Markup hinzufügen. Für eine Komponentenpräsentation können Sie verwenden:
%Vor%Stellen Sie sicher, dass Sie dies in einem DIV oder einem anderen Element ausgeben, das die Grenze Ihrer Komponentenpräsentation markieren kann. Für Component Fields können Sie eine ähnliche Geschichte verwenden:
%Vor%Neben den Änderungen an Ihren Ansichten müssen Sie, wie Bart beschrieben hat, auch eine Konfigurationsdatei in das Stammverzeichnis Ihrer Webanwendung namens SiteEdit_config.xml einfügen. Es sollte so aussehen:
%Vor%Sie müssen alle Ihre aktiven Publikationen hier auflisten. DD4T versucht, Ihre aktuelle Seite mit der korrekten Kontextveröffentlichung (basierend auf dem Attribut 'id') abzugleichen. Wenn es nicht gefunden wird, wird SiteEdit deaktiviert. Mit den anderen Attributen können Sie das Verhalten von SiteEdit steuern.
DD4T kann auch einfach für die Verwendung mit Tridion UI 2012 konfiguriert werden. Ändern Sie einfach das erste Element in der Konfiguration wie folgt:
%Vor%Tags und Links tridion tridion-2011 dd4t