gestionarea mai multor prezentări de componente în blocul de șabloane Dreamweaver Building în SDL Tridion 2011

Lucrez pe Dreamweaver TBB în SDL Tridion 2011 SP1. În TBB folosesc datele din diferite prezentări ale componentelor.

My Template Building Block looks like this.

Componenta principală:

<div>@@[email protected]@</div>

<!-- TemplateBeginRepeat name="Fields.link" -->

    @@RenderComponentPresentation(Field, "tcm:1-8142-32")@@

<!-- TemplateEndRepeat -->

Componenta șablon: tcm: 1-8142-32

Modelul său DWT TBB arată astfel.

<!-- TemplateBeginIf cond="Component.Fields.text" --> 
    <div>@@RenderComponentField("text",0)@@</div>
<!-- TemplateEndIf -->

Când am previzualizat Componenta, am obținut rezultatele de ieșire și toate componentele executate conform așteptărilor.

ieşire:

SchemaName
    data1
    data2

Apoi am creat Pagina cu pagina TBB.

<html>
    <head></head>
    <body>
        <!-- TemplateBeginRepeat name="Components" -->
            @@RenderComponentPresentation()@@
        <!-- TemplateEndRepeat -->
    </body>
</html>

Producția nu este așa cum era de așteptat. Șablonul de componente "tcm: 1-8142-32" nu este executat.

ieșire:

SchemaName

Vreau să fac SiteEdit la o componentă legată de asemenea.

Trebuie să adaug șabloane suplimentare celor existente? Folosesc Tridion 2012 UI.

Am aflat că trebuie să adăugăm isQueryBased , proprietatea trebuie să fie setată la true.

Dacă da, poate cineva să ajute comanda să-l stabilească?

Nu știu unde se află problema.

Poate cineva să mă ajute să modific codul și să implementez SiteEdit pentru Componentul încorporat?

4
Actualizat răspunsurile la întrebări. Dar problema nu este rezolvată.
adăugat autor Patan, sursa
Am vrut să pun în aplicare editarea site-ului pentru componentele legate de componenta principală prin conectarea componentelor.
adăugat autor Patan, sursa
Editat întrebarea cu versiuni corecte. Ne pare rău pentru intrările greșite.
adăugat autor Patan, sursa
Ce versiune de SiteEdit și Tridion folosiți? Nu există nici un "Tridion SP1" și, de asemenea, nici un "SiteEdit 2012", așa că sunt ei? Voi presupune că utilizați Tridion 2011 SP1 cu SiteEdit 2009 SP3, dar vă rugăm să actualizați întrebarea cu numerele de versiune corecte.
adăugat autor Frank van Puffelen, sursa
Mi-am actualizat răspunsul pentru dvs., sperăm că acest lucru vă va ajuta
adăugat autor Dave Houlker, sursa

1 răspunsuri

Într-un șablon Dreamweaver RenderComponenetPresentation() poate fi apelat în două moduri.

  1. Dacă iterați prin Prezentările Componentelor pe o pagină (ceea ce cred că este ceea ce faceți?)

  2. Dacă dintr-un motiv oarecare trebuie să renunțați la o componentă cu un șablon diferit, nu pe cel pe care l-ați adăugat la pagină.

Presupunând că numărul unu este ceea ce faci, atunci ai adăugat componenta la pagina cu șablonul corect. Prin urmare, puteți apela @@ RenderComponentPresentation() @@ fără argumente ca aceasta:

<html>
    <head></head>
    <body>
        <!-- TemplateBeginRepeat name="Components" -->
            @@RenderComponentPresentation()@@
        <!-- TemplateEndRepeat -->
    </body>
</html>

"IsQueryBased" nu are nicio legătură cu problema ta. Acesta este conectat la prezentările din SiteEdit și din componentele dinamice.

Actualizați -

Se pare că aveți 2 întrebări aici:

  1. Cum pot apela RenderComponentPresentation pentru componentele conectate
  2. Cum pot face Componentul să fie "SiteEditable"

Privind la întrebarea 1 - presupunând că matricea de componente nu sunt prezentări de componente pe pagină, metoda inițială a fost aproape corectă:

@@RenderComponentPresentation(Component.ID,"tcm:xx-xx-xx")@@

Ar trebui să aveți posibilitatea să obțineți ID-ul componentei din matrice, dar va trebui să specificați-vă singur ID-ul ComponentTemplate.

În scopuri de testare, mai întâi codul greu este Tcm ID al șablonului Component.

Deoarece plasarea ID-urilor Tcm în șabloane este o practică nepotrivită, atunci va trebui să scrieți un TBB pentru a face acest lucru disponibil în pachet pentru dvs. Puteți apoi să înlocuiți ID-ul Tcm pe care l-ați folosit pentru testare.

În legătură cu întrebarea SiteEdit, acest ghid ar putea ajuta, dacă nu postați o nouă întrebare detaliind natura exactă a problemei dvs.

6
adăugat
Am incercat si cu asta. Nici o schimbare în ieșire. Încerc să pun în aplicare modificarea site-ului pentru Componente legate de componenta principală.
adăugat autor Patan, sursa