2012-05-30 11 views
8

Qualcuno può indicarmi come utilizzare la sintassi o i tag specifici di SiteEdit nel modello Razor nel codice DD4T? Ho visto classi correlate di modifica del sito in esso, ma non riuscivo a capire come usare i tag di SiteEdit nella vista dove c'era una sintassi simile a Dreamweaver ad esempio RenderComponentField o tcdl:ComponentField che abbiamo usato in Dreamweaver. Sono molto nuovo a DD4T e sto usando SiteEdit 2009 SP3 e SDL Tridon 2011 SP1.Come utilizzare SiteEdit in DD4T in Tridion

Grazie in anticipo.

Aggiornamento: Abbiamo provato l'implementazione menzionata nella risposta, ma sfortunatamente stiamo ricevendo un errore quando stiamo accedendo alla pagina in proxy affermando "Modello non valido -Il codice HTML non è valido, probabilmente perché il codice del template produce codice HTML non valido, ad esempio come tag AP all'interno di un altro tag P. Controlla il tuo codice HTML usando un validatore come il servizio di validazione markup W3C, correggi il modello e ripubblicalo. " Immagino che questo sia dovuto al fatto che il contenuto Xml viene inserito nella pagina html a causa dell'uso di TBB della pagina dinamica e del componente che abbiamo utilizzato nei nostri modelli di pagina e di componente.

Lasciaci come continuare.

+0

La community si sta impegnando a creare un sito Q e A dedicato a Stack Exchange per Tridion: il tuo aiuto sarebbe molto apprezzato se considerassi l'impegno? http://area51.stackexchange.com/proposals/38335/tridion?referrer=7XNO_dQBJoWNn9xqeeO2NA2 –

+0

Ciao @L K. Ho appena notato che questa domanda è ancora aperta. Qualche risposta qui sotto ti ha aiutato a risolvere il problema? In tal caso, puoi accettare quella risposta facendo clic sul grande segno di spunta alla sua sinistra? –

risposta

13

Il markup SiteEdit non viene generato come avviene in un modello di Dreamweaver, ma si è responsabili di posizionare il markup per i campi modificabili nella visualizzazione Razor. La cosa buona per questo è che funziona per simili per SiteEdit 2009 SP3 e UI 2012. Il lato negativo per l'interfaccia utente 2012 è che non sta ancora ascoltando l'abilitazione del montaggio in linea che puoi impostare sui modelli di pagina o di componente (qualcosa che dovremmo prendere in considerazione per una futura versione DD4T).

Tutto è basato sulla classe DD4T SiteEditHelper. Si inizia nella visualizzazione di una pagina (prima del tag </body>) inserendo il seguente invito:

@Html.SiteEditPage(Model) 

Questo scriverà la pagina markup, e se si imposta lo stile di "SiteEdit2012" nel vostro SiteEdit_config.xml scriverà anche lo script di bootstrap richiesto per l'interfaccia utente 2012.

Quindi per ogni presentazione di componenti e ogni campo di componenti modificabili sarà inoltre necessario aggiungere il markup appropriato. Per una presentazione dei componenti è possibile utilizzare:

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

Assicurati di scrivere questo fuori all'interno di un DIV o qualche altro elemento che può segnare il confine del componente Presentazione. Per Componente I campi una storia simile, è possibile utilizzare:

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

Grazie Bart tornerà con più dubbi :) – Guestuser1122

5

A parte le modifiche al vostro punto di vista, come Bart ha descritto, è necessario anche mettere un file di configurazione nella root della vostra applicazione web, chiamato SiteEdit_config. xml. Dovrebbe apparire così:

<?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> 

È necessario elencare tutte le pubblicazioni attive qui. DD4T cerca di far corrispondere la tua pagina corrente alla corretta pubblicazione di contesto (basata sull'attributo 'id'). Se non riesce a trovarlo, SiteEdit sarà disabilitato. Gli altri attributi ti consentono di controllare il comportamento di SiteEdit.

  • componentPublication: nuovi componenti saranno creati qui
  • pagePublication: nuove pagine verranno create qui (non utilizzato in Tridion UI 2012)
  • publishPublication: pagine e componenti saranno ripubblicati da questo contesto (di solito coincide con l'id)

DD4T può anche essere facilmente configurato per l'utilizzo con Tridion UI 2012. basta cambiare il primo elemento nella configurazione come segue:

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

Grazie Quirijn per ulteriori informazioni – Guestuser1122

Problemi correlati