2012-06-22 17 views
11

In questo momento ho implementato l'interfaccia utente 2012 e dopo alcuni ostacoli funziona perfettamente. Stavo cercando di ottimizzare l'usabilità di tutti i campi modificabili dall'interfaccia utente e di eseguire una sfida correlata.Possiamo sostituire le etichette <add text> in SiteEdit 2012 (su Tridion 2011)?

All'interno di un componente ci sono diversi campi che non sono obbligatori e pertanto non dovrebbero essere visualizzati quando sono vuoti. Non appena un editor accede all'IU e seleziona il componente che detiene tali campi, vengono visualizzate diverse etichette, ad esempio <add text> e <add internal link to component media>.

Sto cercando di cambiare queste etichette in qualcosa di più descrittivo del loro contenuto, perché un html aggiuntivo verrà aggiunto alla pagina quando un campo non è vuoto.

Per esempio (usando Razor mediatore):

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

Quando il campo posizione è vuota, si dice solo <add text>. Vorrei cambiare quello a <Add location to event>.

Ho provato a mettere qualcosa tra i tag tcdl, ma vengono visualizzati anche quando non si modifica in UI2012. Ho cercato i siti di contenuto SDL Live ma non riesco a trovare alcun riferimento ad esso. Qualcuno ha un'idea?

+0

Hey MDa, questa è una domanda molto interessante. Sfortunatamente, come potresti notare, l'esperienza con la nuova interfaccia utente è ancora un po 'carente (ma in rapida crescita). Hai pensato di unirti alla nostra proposta per ottenere un sito Tridion separato? http://area51.stackexchange.com/proposals/38335/tridion?referrer=lav544jo87qNn9xqeeO2NA2 –

risposta

2

Stavo cercando lo stesso quando stavo controllando questo, ma non penso che sia fattibile facilmente AFAIK. Sono andato un po 'in profondità e ho scoperto che le etichette fanno parte del file di risorse Tridion.Web.UI.Editors.SiteEdit.Strings.resxEmptyTextField. Non ho perseguito l'opzione di giocherellare con questo perché non sarebbe il modo supportato, né documentato e al di sopra di esso non ho ancora la flessibilità di aggiungere il mio testo per ogni campo.

Torna alla tua domanda, stavo lanciando un'idea (non necessariamente rispondere alla tua domanda) e voglio condividere qui così gli esperti potrebbero fornire alcuni preziosi suggerimenti. Non ho provato questa opzione (ho sentito troppo lavoro) e questo è nella mia lunga lista di cose da fare e potrebbe avere anche degli svantaggi.

  • Creare campi schema con "valori predefiniti" (ad esempio "Aggiungi posizione all'evento"). il testo predefinito verrà visualizzato nell'interfaccia utente.

  • Scrivi i modelli in modo che, se il valore del campo Schema è lo stesso come predefinito

@@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> 
} 
  • Eseguire sopra condizione di controllo in base al tipo di destinazione UI abilitata, dal momento che non vogliamo visualizza il testo predefinito per il target live ecc.

Inoltre, la presentazione di Tridion Idea come richiesta di miglioramento sarà ottima. Lo farò nei prossimi giorni se non ce ne sono già.

1

Mi piace l'approccio in quanto sarebbe un modo rapido per fornire le istruzioni dell'autore a livello di campo. Usiamo il campo description tipicamente per fornire questo tipo di aiuto nella CME.

Per modifica in linea, content types (SDL Contenuti dal vivo - Login richiesto) è un'altra opzione in quanto definiscono schema (e prototipo componente), modello, istruzioni, e il contesto "salva-a".Puoi offrire un testo fittizio sostituito dagli autori.

Punte: contenuti

  • Add campione e/o istruzioni (Lorem Ipsum) nel componente prototipo.
  • Aggiungere ulteriori istruzioni nella descrizione del tipo di contenuto.
  • Selezionare la posizione di memorizzazione diversa dalla cartella del componente prototipo.

Facci sapere come va. :-)

3

Non esiste un modo supportato per personalizzare il testo segnaposto del campo vuoto. Ma si potrebbe provare a scrivere una proroga, che sostituisce il seguente metodo:

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

Questo metodo è responsabile per la creazione del testo segnaposto.

Problemi correlati