4

We are currently implementing a new site with support for the new UI/XM (Experience Manager). Currently though it seems not possible to add a 'paragraph' (which is a multivalued embedded schema) to our 'article' components. I imagine such basic functionality to be working.

Also, we have a component that links to multiple other components in a multivalue component link field. These indiviual linked components are editable (they are rendered using RenderComponentPresentation()), but we cannot add new component links to the multivalue field.

Anyone have an idea how to get this working?

Kind Regards

Edit: This will be fixed in 2013 SP1!

MrSnowflake
  • 4,724
  • 3
  • 29
  • 32

3 Answers3

7

Adding multi-value embedded schemas is currently not a possible in Tridion's Experience Manager UI. I suggest opening the Component in form view to add the paragraph.

If you think it is a good idea for SDL to add the feature you miss, you could suggest it at: http://ideas.sdltridion.com.

Frank van Puffelen
  • 565,676
  • 79
  • 828
  • 807
  • Thanks for your reply. Ofcourse I think that's a good idea, that's how everybody uses embedded field (I believe). It strikes me that SDL didn't think this would be a good idea! – MrSnowflake Dec 03 '12 at 14:42
  • The problem, MrSnowflake, is that it's not as easy as you think it is. Of course it has been considered and it still is. – Peter Kjaer Dec 03 '12 at 15:34
  • When it comes to developing software, it is often not a matter of "should we do this?". It is typically "should we do A or B, given these considerations?". The number of votes an idea gets on ideas.sdltridion.com is one of those considerations. So by suggesting this feature there (or voting for it), you can improve the chances of SDL picking your preferred A (or B) next time. – Frank van Puffelen Dec 03 '12 at 16:04
  • @Peter: Ofcourse I realize it's not that simple, but that's no reason this should not be implemented. The UI/XM is build to hide the technicalities of Tridion from Content Editors, as such, it's not too strange this functionality would be desired! Frank: Thanks for the explanation. – MrSnowflake Dec 04 '12 at 11:13
3

According to the documentation (password required, see http://docportal.sdl.com/sdltridion for details) you should use the following in your DWT template:

<!-- TemplateBeginRepeat name="fieldname" -->
  @@RenderComponentField("fieldname", TemplateRepeatIndex)@@
<!-- TemplateEndRepeat -->

But that isn't so useful for Component Links as it just renders the TCMURI in your template, so you probably want it to become a dynamic link and then you can use the following in your DWT Template:

<!-- TemplateBeginRepeat name="fieldname" -->
  <tcdl:ComponentField name="fieldname" index="${TemplateRepeatIndex}">
    <a href="#" tridion:href="@@Field@@" tridion:type="Component">@@Field@@</a>
  </tcdl:ComponentField>
<!-- TemplateEndRepeat -->

If you require the title of the linked component in that link, you could use the Dreamweaver Get eXtension (DGX) for example.

This will now get you the value of all fields editable, and when you edit one of the fields, you get a green plus button in the upper left corner of the field properties, from where you can add a new value (you will see a delete and move button in the top of the field properties too). field properties of a multi value field in XPM

Please note that if your multi value field is initially empty, you will have to make sure there is a tcdl tag allowing XPM to understand it should show the field edit properties there, you could use something like this for that:

<!-- TemplateBeginIf cond="CollectionLength('Field.Values') == 0" -->
  <tcdl:ComponentField name="${Field.Name}"></tcdl:ComponentField>
<!-- TemplateEndIf -->

See the documentation for more details around inline editing.

EDIT:

It seems I misinterpreted the question a bit, indeed as Frank mentions unfortunately XPM has currently no ability to add multi-value embeddable fieldsets. I was tempted to use the following construct, which allows me to edit all the fields, but the multi-value buttons are missing then (since that is not supported):

<!-- TemplateBeginRepeat name="fieldname" -->
  <tcdl:ComponentField name="fieldname" index="${TemplateRepeatIndex}">
    <!-- TemplateBeginRepeat name="Field.embeddableFieldname1" -->
      @@RenderComponentField(FieldPath+".embeddableFieldname1", TemplateRepeatIndex)@@
      -
      @@RenderComponentField(FieldPath+".embeddableFieldname2", TemplateRepeatIndex)@@
    <!-- TemplateEndRepeat -->
  </tcdl:ComponentField>
<!-- TemplateEndRepeat -->
Bart Koopman
  • 4,835
  • 17
  • 30
  • Bart, I know how this can be done for linked components. But I want it for multivalue embedded schema's (with a title, subtitle and body field). And my linked components don't only show a name, but also a surname and an image. – MrSnowflake Dec 03 '12 at 12:21
  • have you taken a look at http://code.google.com/p/tridion-practice/wiki/IteratingOverMultivalueEmbeddedFields if that doesn't help you out together with my answer, then please provide more detail by editing your question and adding a example of your template code perhaps? – Bart Koopman Dec 03 '12 at 12:30
-1

I use this code to render fields of a multi-value embedded Paragraph schema and it works just fine in XPM:

<!-- TemplateBeginRepeat name="Fields.Paragraph" -->
    @@RenderComponentField("Fields.Paragraph[${TemplateRepeatIndex}].Body", 0)@@
<!-- TemplateEndRepeat -->
Jeroen Suurd
  • 101
  • 3