2012-06-22 18 views
11

Ahora mismo he estado implementando la Interfaz de usuario 2012 y después de algunos obstáculos funciona bien. He estado buscando optimizar la usabilidad de cualquier campo editable con UI y enfrentar un desafío relacionado.¿Podemos reemplazar las etiquetas <add text> en SiteEdit 2012 (en Tridion 2011)?

Dentro de un componente hay varios campos que no son obligatorios, y como tales no deberían mostrarse cuando están vacíos. Tan pronto como un editor entre en la interfaz de usuario y selecciona el componente que contiene dichos campos, aparecen varias etiquetas como <add text> y <add internal link to component media>.

Estoy buscando cambiar estas etiquetas a algo más descriptivo de su contenido, porque html adicionales se agregarán a la página cuando un campo no esté vacío.

Por ejemplo (usando la maquinilla de afeitar Mediador):

@if(Component.Fields.location != null) { 
    <span class="row"> 
    <strong>Where:</strong> 
    <span>@RenderComponentField("location", 0)</span> 
    </span> 
} else { 
    <tcdl:ComponentField name="location"></tcdl:ComponentField> 
} 

Cuando el campo de ubicación está vacía, sólo dice <add text>. Me gustaría cambiar eso a <Add location to event>.

He intentado poner algo entre las etiquetas tcdl, pero se muestran incluso cuando no se editan en UI2012. He estado buscando en los sitios de contenido de SDL Live pero no puedo encontrar ninguna referencia al mismo. ¿Alguien tiene una idea?

+0

Hola, MDa, esa es una pregunta muy interesante. Desafortunadamente, como habrás notado, la experiencia con la nueva interfaz de usuario todavía es un poco escasa (pero está creciendo rápidamente). ¿Consideró unirse a nuestra propuesta para obtener un sitio Tridion por separado? http://area51.stackexchange.com/proposals/38335/tridion?referrer=lav544jo87qNn9xqeeO2NA2 –

Respuesta

2

Estaba buscando lo mismo cuando estaba revisando esto, pero no creo que se pueda hacer fácilmente AFAIK. Fui un poco profundo y encontré que las etiquetas son parte del archivo de recursos Tridion.Web.UI.Editors.SiteEdit.Strings.resxEmptyTextField. No perseguí la opción de jugar con esto porque no sería la manera admitida, ni documentada y, además, no tengo la flexibilidad de agregar mi propio texto para cada campo.

Volviendo a su pregunta, estaba lanzando una idea (no necesariamente la respuesta a su pregunta) y quiero compartirla aquí para que los expertos puedan proporcionar algunas sugerencias valiosas. No probé esta opción (sentí demasiado trabajo) y esto está en mi larga lista de cosas pendientes y podría tener algunos inconvenientes también.

  • Crear campos de esquema con "valores predeterminados" (por ejemplo, "Agregar ubicación al evento"). el texto predeterminado se mostrará en su UI.

  • escribir sus plantillas de manera que si el valor del campo de esquema es el mismo que por defecto

@@if(Component.Fields.location.value == [Compare the schema field definition - default value of the field]) { 
    //--> Note: I could not find a straight API for this.. but I am assuming it should be there. 
    @RenderComponentField("location", 0) 
} else { 
    <span class="row"> 
     <strong>Where:</strong> 
     <span>@RenderComponentField("location", 0)</span> 
    </span> 
} 
  • Realizar por encima de comprobación del estado basado en el tipo de objetivo interfaz de usuario está habilitado, ya que no queremos muestra el texto predeterminado para el objetivo directo, etc.

Además, publicar Tridion Idea como solicitud de mejora será excelente. Lo haré en los próximos días si ninguno existe ya.

1

Me gusta el enfoque, ya que sería una forma rápida de dar las instrucciones del autor a nivel de campo. Usamos el campo de descripción para proporcionar típicamente este tipo de ayuda en el CME.

Para la edición en línea, content types (SDL contenido en vivo - Se requiere entrar) es otra opción ya que definen el esquema (y prototipo de componente), plantilla, instrucciones, y el contexto "salvar-a".Puede ofrecer un texto ficticio que los autores reemplazan.

Consejos:

  • Agregar contenido de la muestra y/o instrucciones (Lorem Ipsum) en el componente de prototipo.
  • Agregue instrucciones adicionales en la descripción del tipo de contenido.
  • Seleccione la ubicación de almacenamiento que no sea la carpeta del componente prototipo.

Háganos saber cómo va. :-)

3

No hay forma admitida de personalizar el texto de marcador de posición del campo vacío. Sin embargo, usted podría intentar escribir una extensión, que anula el siguiente método:

Tridion.Web.UI.SiteEdit.ComponentField.prototype.setPlaceholderType 

Este método es responsable de establecer el texto del marcador.

Cuestiones relacionadas