Packianathan
I'm new here

WebClient Bearbeitung iFrame

Jump to solution

Wie kann ich iframe HTML Code so hinterlegen, das diese auch in WebClient bearbeitet werden kann

<CMS_HEADER>

</CMS_HEADER>

<iframe scrolling="no" width="457" height="$CMS_VALUE(st_height)$" frameborder="0" src="$CMS_VALUE(st_url)$"></iframe>

Hatte mit dem Code $CMS_VALUE(editorId(editorName:"xxx"))$ kein Erfolgt

<CMS_HEADER>

</CMS_HEADER>

<iframe scrolling="no" width="457" height="$CMS_VALUE(st_height)$" $CMS_VALUE(editorId(editorName:"st_height"))$ frameborder="0" src="$CMS_VALUE(st_url)$" $CMS_VALUE(editorId(editorName:"st_url"))$></iframe>

1 Solution

Accepted Solutions

Hallo Nils,

das stimmt so nicht ganz. Die Nutzung der editorId()-Funktion ist komplett unabhängig davon, ob das entsprechende Element auch wirklich innerhalb des entsprechenden Tags (oder sogar auf der Seite) angezeigt oder benutzt wird.

Allerdings muss man dem Benutzer natürlich irgendetwas geben, auf das er klicken kann.

Hier kann man aber problemlos ein <div>, <img>, <span> usw benutzen, in das man die EditorId dann hineinschreibt. In dieses Element kann man beliebigen Inhalt einsetzen.

Man müsste hier aber wohl mit dem Parameter "reloadPreview:true" arbeiten, weil WebEdit nach einer Änderung per default immer nur den Bereich neu berechnet, den das Tag mit der editorId() einschließt, was beim <iframe> ja nicht gegeben ist.

Die Anzeige der zusätzlichen Elemente sollte man natürlich so einschränken, dass sie nur inWebEdit erscheinen, also in etwa so:

$CMS_IF(#global.is("WEBEDIT"))$

     <div $CMS_VALUE(editorId(editorName:"st_url",reloadPreview:true))$>Edit url</div>
     <div $CMS_VALUE(editorId(editorName:"st_height",reloadPreview:true))$>Edit height</div>

$CMS_END_IF$
<iframe scrolling="no" width="457" height="$CMS_VALUE(st_height)$" frameborder="0" src="$CMS_VALUE(st_url)$" />

Man kann das natürlich noch komfortabler machen, indem man einen FS_BUTTON nutzt, der dann ein Skript aufruft, welches dann ein Formular nur mit diesen beiden Angaben anzeigt und in die Seite bzw. den Absatz schreibt. Das wäre aber etwas mehr Aufwand.

Viele Grüße

Michael

View solution in original post

4 Replies
Anonymous
Not applicable

Hallo Anton,

dein Versuch ist zum Scheitern verurteilt, da die einzugebenden Werte nicht angezeigt werden (interne Attribute). Hier müsste man vermutlich einen Workaround bauen, der die Werte in eigenen <div>-Elementen vor dem iFrame ausgibt. Jedem dieser divs kann dann eine EditorID zugewiesen werden.

<CMS_HEADER>

</CMS_HEADER>

<div $CMS_VALUE(editorId(editorName:"st_url"))$>$CMS_VALUE("st_url")$</div>

<div $CMS_VALUE(editorId(editorName:"st_height"))$>$CMS_VALUE("st_height")$</div>

<iframe scrolling="no" width="457" height="$CMS_VALUE(st_height)$" frameborder="0" src="$CMS_VALUE(st_url)$" />

Viele Grüße,

Nils

0 Kudos

Hallo Nils,

ich kann hierdurch zwar editieren. Erhalte aber auch diese Information in der Ausgabe, was ich vermeiden möchte. Gibt es eine Alternative ?

Viele Grüße,

Anton

0 Kudos
Anonymous
Not applicable

Hi Antont,

um die Werte zu im Webclient editieren zu können, muss man sie irgendwie anzeigen. Mir ist zumindest nicht bekannt, dass das auch bei ausgeblendeten Elementen funktioniert, geschweige denn von Attributes innerhalb eines HTML-Elements.

Wäre gut, wenn sich hierzu jemand von eSpirit zu Wort melden würde. Ich selbst habe bisher nur Grundkenntnisse in Sachen WebClient, da wir fast ausschließlich mit dem JavaClient arbeiten.

Viele Grüße,

Nils

0 Kudos

Hallo Nils,

das stimmt so nicht ganz. Die Nutzung der editorId()-Funktion ist komplett unabhängig davon, ob das entsprechende Element auch wirklich innerhalb des entsprechenden Tags (oder sogar auf der Seite) angezeigt oder benutzt wird.

Allerdings muss man dem Benutzer natürlich irgendetwas geben, auf das er klicken kann.

Hier kann man aber problemlos ein <div>, <img>, <span> usw benutzen, in das man die EditorId dann hineinschreibt. In dieses Element kann man beliebigen Inhalt einsetzen.

Man müsste hier aber wohl mit dem Parameter "reloadPreview:true" arbeiten, weil WebEdit nach einer Änderung per default immer nur den Bereich neu berechnet, den das Tag mit der editorId() einschließt, was beim <iframe> ja nicht gegeben ist.

Die Anzeige der zusätzlichen Elemente sollte man natürlich so einschränken, dass sie nur inWebEdit erscheinen, also in etwa so:

$CMS_IF(#global.is("WEBEDIT"))$

     <div $CMS_VALUE(editorId(editorName:"st_url",reloadPreview:true))$>Edit url</div>
     <div $CMS_VALUE(editorId(editorName:"st_height",reloadPreview:true))$>Edit height</div>

$CMS_END_IF$
<iframe scrolling="no" width="457" height="$CMS_VALUE(st_height)$" frameborder="0" src="$CMS_VALUE(st_url)$" />

Man kann das natürlich noch komfortabler machen, indem man einen FS_BUTTON nutzt, der dann ein Skript aufruft, welches dann ein Formular nur mit diesen beiden Angaben anzeigt und in die Seite bzw. den Absatz schreibt. Das wäre aber etwas mehr Aufwand.

Viele Grüße

Michael