udorudi
I'm new here

Webedit bei Datenquelle mit Absatzvorlagen

Hallo zusammen,

bei einer Datenquelle kann ich alle direkten Eingaben pflegbar ansprechen:

$CMS_VALUE(editorId(void,view:"newsletter"))$

$CMS_VALUE(editorId(editorName:"db_headline"))$

Einige Artikel werden jedoch mit einer FS_LIST aus einer Absatzvorlage hinzugefügt.

Hier tue ich mich schwer mit der ansprechbaren Syntax, um einzelne Elemente der Vorlage

im Webedit pflegbar anzusprechen.

$CMS_VALUE(editorId(entity:fs_list.dataset.entity,editorName:"st_headline",view:"newsletter")$

Muss der ggfls. der Templatename der Absatzvorlge mit angegeben werden?

Gruß

Udo

0 Kudos
10 Replies
marza
I'm new here

Hallo Udo,

die schnelle Antwort ist ja. Du kannst das hier nachlesen bzw. im ODFS des jeweiligen FirstSpirit-Servers:

http://www.e-spirit.com/odfs52/vorlagenentwicklung/content-highlighting-und-easyedit/einsatz-im-proj...

http://www.e-spirit.com/odfs52/vorlagenentwick/content-highlig/einsatz-projekt/

Unter "Parameter für editorId()-Aufrufe" wird der Parameter "template" bechrieben:

"Übergabe einer Tabellenvorlage (TableTemplate-Objekt) oder der UID einer Tabellenvorlage (als String, z. B. „schema.gallery“)."

Grüße Marian

Nachricht geändert durch Martin Mikula - link korrigiert

0 Kudos
sebastianc
Crownpeak employee

Hallo Udo,

benötigst Du noch weitere Hilfe oder haben Dir die Antworten von Marian bereits geholfen? In diesem Fall wäre es super, wenn Du die "richtige Antwort" entsprechend markierst, damit auch andere Community-Teilnehmer diese auf den ersten Blick finden. Solltest Du zwischenzeitlich eine eigene Lösung gefunden haben, wäre es nett, wenn Du diese hier bereitstellst.

Viele Grüße,

Sebastian

0 Kudos
oboeck
I'm new here

Hallo zusammen,

da die Frage immer noch unbeantwortet ist und ich gerade vor genau dem selben Problem stehe würde ich das ganze gerne noch einmal aufrollen.

Folgendes Problem:

Ich habe eine Datenquelle und somit auch ein Entity. In diesem Entity gibt es einen FS_CATALOG der wiederrum verschiedene Absatzvorlagen beinhalten kann.

Ausgeben wird das ganze in einer separaten Absatzvorlage + contentSelect (NICHT content projektion)

Das heißt ich hol mir eigentlich zuerst einmal das InEdit-Geraffel für das entity und als Beispiel für ein stink normales CMS_INPUT_TEXT

<CMS_HEADER>

          <CMS_FUNCTION name="contentSelect" resultname="faqs">

               .....

          </CMS_FUNCTION>

</CMS_HEADER>

$CMS_FOR(for_faq, faqs)$

          ...

          $CMS_VALUE(editorId(entity:for_faq, template:"local.faq", editorName:"tt_text"))$

          ...

$CMS_END_FOR$

Soweit so gut, aber wie hole ich mir die InEdit Sachen für die Absätze die innerhalb des Entity in einem FS_CATALOG stecken?

$CMS_FOR(for_faq, faqs)$

          ...

         

          $CMS_FOR(for_catalogElement, for_faqs.catalogList)$


               $CMS_VALUE(editorId(target:for_catalogElement)$ <<<<--- das geht nicht

               $CMS_VALUE(editorId(entity:for_faq, template:"local.faq", target:for_catalogElement, editorName:"tt_catalogList")$ <<<<--- geht auch nicht

          $CMS_END_FOR$         

          ...

$CMS_END_FOR$

Bzw. kann man so überhaupt InEdit anbieten wenn innerhalb der FS_CATALOG unterschiedliche Absatzvorlagen liegen? Müsste man dann nicht doch eher die Absatzvorlagen mit InEdit versehen? Defakto sind sie das schon, aber die kapieren den Bezug zum Entity dann nicht mehr hin.

Vielleicht weiß ja jemand rat.

VG, Olli

0 Kudos
mikula
Crownpeak employee

Hallo Olli,

ich nur um das nochmal nachvollziehen zu können Ihr habt eine Datenbanktabelle mit DB-Entities.

Diese enthalten einen FS-Catalog. Dieser Catalog enthält Referenzen auf andere FirstSpirit Elemente, dessen Inhalt Inline editiert werden soll.

Jedoch kann was genau nun nicht aufgelöst werden?

Viele Grüße

Martin

0 Kudos

Genau,

ich habe eine Absatzvorlage die per contentSelect sich Entities aus der DB holt.

Dann wird über diese Menge iteriert und ein Element des Entities ist ein FS_CATALOG welches 3 unterschiedliche SectionTemplates beinhalten kann.

Und ich will genau diese SectionTemplates und im speziellen deren Eingabekomponenten (z.b. ein Textfeld oder eine Headline) dem Redakteur im ContentCreator per InlineEdit (Stift Symbol) editieren lassen. Und genau hierfür fehlt mir der korrekte editorId() aufruf.

VG, Olli

0 Kudos

Hallo Oliver,

wenn Du per CMS_VALUE etwas ausgibst, was auf einem Tenplate basiert, dann kann man doch in diesem Template ebenfalls per editorId die Elemente bearbeitbar machen? Ich würde auf keinen Fall etwas aus einem CMS_FOR direkt per editorId versuchen anzusprechen, da unter Umständen der Kontext auf der Strecke bleibt.

Grüße Marian

0 Kudos
mikula
Crownpeak employee

Hallo Udo,

benötigst Du noch weitere Hilfe oder haben Dir die Antworten von Marian bereits geholfen? In diesem Fall wäre es super, wenn Du die "richtige Antwort" entsprechend markierst, damit auch andere Community-Teilnehmer diese auf den ersten Blick finden. Solltest Du zwischenzeitlich eine eigene Lösung gefunden haben, wäre es nett, wenn Du diese hier bereitstellst.

Viele Grüße,

Martin

0 Kudos

Im Normalfall schon, aber wenn man dies über ein Entity macht geht das wohl nicht.
Wie gesagt, wenn ich in dem Entity einen FS_CATALOG habe und diesen dann bei einem contentSelect ausgebe sieht das ja so aus.

$CMS_FOR(item, contentSelectResult)$

    $CMS_FOR(for_catalogElement, item.catalogList)$

        $CMS_VALUE(for_catalogElement)$

    $CMS_END_FOR$
$CMS_END_FOR$

In der item.catalogList können die Elemente vom Template "st_textBox", "st_bildBox" und "st_linkBox" existieren.
Das Template st_textBox beinhaltet nur ein CMS_INPUT_TEXT welches ich einzeln per InEdit ansprechen möchte.
Nach dem normalen Vorgehen würde das ja so aussehen (funktioniert ja auch überall außer wenn das Template über ein DBEntity läuft).

<div class="text" $CMS_RENDER(template:"easyedit_element", ft_name:"st_text")$>

   $CMS_VALUE(st_text, default:"")$

</div>


Und genau dann bekomme ich im ContentCreator beim Versuch diesen Text per InEdit zu editieren folgende Fehlermeldung:6203_pastedImage_6.png

Demnach ist das Problem leider immer noch nicht gelöst.

VG, Olli

0 Kudos

Hallo Udo,

ich wiederbelebe das Thema hier nochmal, danke für deine Geduld Smiley Happy

Statt

$CMS_VALUE(editorId(entity:fs_list.dataset.entity,editorName:"st_headline",view:"newsletter")$

kannst du es mal so probieren:

$CMS_VALUE(editorId(element:fs_list.dataset,editorName:"st_headline",target:"your_list_subform_name")$

Damit wählst du nicht das Entity direkt aus, sondern ein Dataset, wo du dann über ein Formular ein Entity bearbeiten kannst. Klappt das?

@Oliver: Ich bin mir jetzt nicht sicher, ob auf ähnliche Art auch dein Problem lösen kann. Ansonsten gibt es mit bestimmten Verschachtelungen aktuell noch Probleme mit den Editoren - diese werden in einem kommenden Release behoben. Vielleicht betreffen die dich aber gar nicht, gib uns hier auch mal Rückmeldung ob oben genannter Weg dir weiterhilft.

Grüße,

Hannes

0 Kudos