2012-05-30 11 views
8

¿Alguien me puede indicar cómo usar la sintaxis o las etiquetas específicas de SiteEdit en la plantilla Razor en el código DD4T? He visto las clases relacionadas de Edición de sitios en él, pero no pude entender cómo usar las etiquetas de SiteEdit en la vista donde había alguna sintaxis similar a Dreamweaver por ejemplo RenderComponentField o tcdl:ComponentField que usamos en Dreamweaver. Soy muy nuevo en DD4T y estoy usando SiteEdit 2009 SP3 y SDL Tridon 2011 SP1.Cómo usar SiteEdit en DD4T en Tridion

Gracias de antemano.

Actualización: Hemos intentado la implementación mencionada en la respuesta, pero desafortunadamente recibimos un error cuando accedimos a la página en proxy indicando "Plantilla inválida: el HTML no es válido, probablemente porque el código de la plantilla produce HTML no válido, como etiqueta de ap dentro de otra etiqueta p. Compruebe su HTML con un validador como el Servicio de validación de marcado W3C, corrija su plantilla y vuelva a publicarla ". Supongo que esto se debe a que el contenido Xml se está introduciendo en la página html debido al uso de la página dinámica y componentes TBB que utilizamos en nuestras plantillas de componentes y páginas.

Déjenos saber cómo continuar.

+0

La comunidad está tratando de establecer un sitio dedicado de Intercambio de Apilamientos Q y A para Tridion. ¿Le agradecería enormemente su ayuda si considerara comprometerse? http://area51.stackexchange.com/proposals/38335/tridion?referrer=7XNO_dQBJoWNn9xqeeO2NA2 –

+0

Hola @L K. Me di cuenta de que esta pregunta todavía está abierta. ¿Alguna de las siguientes respuestas te ayudó a resolver el problema? Si es así, ¿puede aceptar esa respuesta haciendo clic en la marca de verificación grande a la izquierda? –

Respuesta

13

La marca de SiteEdit no se genera como en una plantilla de Dreamweaver, usted es responsable de colocar el marcado de sus campos editables en la vista de Razor. Lo bueno de esto es que funciona de manera similar para SiteEdit 2009 SP3 y UI 2012. Lo malo de UI 2012 es que no está escuchando (aún) la habilitación de edición en línea que puede establecer en las plantillas de componente o página (algo que deberíamos considerar para una futura versión DD4T).

Todo se basa en la clase DD4T SiteEditHelper. Se empieza en la vista de página (antes de la etiqueta </body>) mediante la colocación de la siguiente llamada:

@Html.SiteEditPage(Model) 

Esto escribirá a cabo el marcado de página, y si se establece el estilo de "SiteEdit2012" en su SiteEdit_config.xml también escribirá el script de arranque requerido para UI 2012.

Luego, para cada Presentación de componente y cada campo de componente editable, también deberá agregar el marcado adecuado. Para una presentación de componentes que puede utilizar:

@{var ComponentPresentation = ViewBag.ComponentPresentation as IComponentPresentation;} 
<div> 
    @Html.SiteEditComponentPresentation(ComponentPresentation) 
</div> 

Asegúrese de escribir esto dentro de un DIV o algún otro elemento que puede marcar el límite de la presentación de componentes. Para el componente campos una historia similar, puede utilizar:

<div> 
    @Html.SiteEditField(Model, Model.Fields["FieldName"]) 
    @Model.Fields["FieldName"].Value 
</div> 
+0

Gracias Bart volverá con más dudas :) – Guestuser1122

5

Aparte de los cambios a sus puntos de vista, ya que Bart ha descrito, también es necesario poner un archivo de configuración en la raíz de la aplicación web, llamado SiteEdit_config. xml. Debería verse así:

<?xml version="1.0" encoding="utf-8" ?> 
<siteEdit enabled="true" tridionHostUrl="http://tridion.my.com"> 
    <contextPublications> 
    <contextPublication id="10" componentPublication="3" pagePublication="9" publishPublication="10" /> 
    <contextPublication id="11" componentPublication="3" pagePublication="9" publishPublication="11" /> 
    </contextPublications> 
</siteEdit> 

Debe enumerar todas sus publicaciones activas aquí. DD4T intenta hacer coincidir su página actual con la publicación de contexto correcta (según el atributo 'id'). Si no puede encontrarlo, SiteEdit estará deshabilitado. Los otros atributos le permiten controlar el comportamiento de SiteEdit.

  • componentPublication: nuevos componentes serán creados aquí
  • pagePublication: se crearán nuevas páginas aquí (no se utiliza en Tridion UI 2012)
  • publishPublication: páginas y componentes volverá a publicar a partir de este contexto (por lo general coincide con el id)

DD4T también puede ser fácilmente configurado para su uso con Tridion UI 2012. Sólo cambia el primer elemento en la configuración de la siguiente manera:

<?xml version="1.0" encoding="utf-8" ?> 
<siteEdit enabled="true" style="SiteEdit2012" tridionHostUrl="http://tridion.my.com"> 
... 
</siteEdit> 
+0

Gracias Quirijn por información adicional – Guestuser1122

Cuestiones relacionadas