Domino 9 und frühere Versionen > ND8: Entwicklung - XPages

XPages: "Angezeigtes" Bild aus RichText-Feld 1:1 übernehmen

(1/1)

Tobias211:
Ein freundliches "Hallo" ins Forum....

Ich würde gerne aus einem RichText-Feld eines Profildokumentes
ein Bild in einem RichtText-Feld eines benutz. Steuerelementes 1:1 übernehmen.

Etwas einfacher ausgedrückt:

-> Bild wird in Profildokument abgelegt und soll im Web, bei Aufruf
     der Seite an einer bestimmten Stelle dargestellt werden.

Über das Studium der Designer-Hilfe habe ich in der Vergangenheit
herausgefunden, dass ich mit folgendem Code

----------------------------------------------------------------------------------------
var doc = database.getProfileDocument("Profil" , "");
var event = doc.getItemValue("Profil_Drucker_DO_Link_1");
@Text(event)
----------------------------------------------------------------------------------------

ein Profildokument über das Web auslesen kann. Mittlerweile
nutze ich diese Möglichkeit auch bei mehreren DB`s für "Text"-Inhalte
(Link`s, Beschriftungen etc.) aller Art.

Da Bilder ja bekanntlich keine Text sind....wahnsinn!.....würde ich gerne
den letzten Befehl "@Text(event)" für das Bild anpassen.

Da ich den Befehl hierfür nicht kenne, frag ich hier mal nach.

Könnte mir bitte jemand sagen, welche Ergänzung oder Anpassung
ich vornehmen muss, damit das Bild aus dem Profildokument
übernommen wird?

Danke und schönes WE

Tobi

Tobias211:
-gelöscht-

Sven Hasselbach:
Hallo,

ich kann es zwar nicht empfehlen, im Web mit Profildokumenten zu hantieren, aber ein möglicher Weg hierfür wäre folgendes:

Auf der XPage eine Datasource defineren, die das Profildokument anzieht:


--- Code: ---<xp:dominoDocument var="profileDoc" action="openDocument" ignoreRequestParams="true">
   <xp:this.documentId>
      <![CDATA[#{javascript:
         var doc:NotesDocument = database.getProfileDocument("<PROFILNAME>","");
         doc.getUniversalID()
      }]]>
   </xp:this.documentId>
</xp:dominoDocument>

--- Ende Code ---

Gesetz den Fall, das Bild ist im Richtext-Feld "Body" hinterlegt, kann dann kann auf der XPage das Bild mit einem RichText-Feld einfach angezeigt werden:

--- Code: ---<xp:inputRichText id="inputRichText1" value="#{profileDoc.Body}" readonly="true" />

--- Ende Code ---

Das ist in meinen Augen der einfachste Weg...

HH:
Hallo,

ich habe ein ähnliches Problem. Allerdings befindet sich das Dokument mit dem RichtTextItem in einer anderen Datenbank.

Mein Code sieht wie folgt aus:

--- Code: --- <xp:panel>
<xp:this.data>
<xp:dominoDocument var="document1"
ignoreRequestParams="true" databaseName="config.nsf">
<xp:this.documentId><![CDATA[#{javascript:
var configDb:NotesDatabase = sessionAsSigner.getDatabase( "dev01", "config.nsf" ) ;
var view:NotesView = configDb.getView("contentTemplates") ;
var doc:NotesDocument = view.getDocumentByKey( "RemoteMaintenance", true ) ;
doc.getUniversalID() ;}]]>
</xp:this.documentId>
</xp:dominoDocument>
</xp:this.data>
<xp:inputRichText id="inputRichText1" value="#{javascript:document1.body}"
readonly="true">
</xp:inputRichText>
</xp:panel>

--- Ende Code ---

Das Body-Item enthält nur Text. Leider wird mir dieser nicht angezeigt. Hat jemand eine Idee woran das liegen mag?

Danke vorab,
Hubert

HH:
So, Fehler gefunden.


--- Code: --- <xp:this.data>
<xp:dominoDocument var="document1"
ignoreRequestParams="true" databaseName="config.nsf" action="openDocument">
<xp:this.documentId><![CDATA[#{javascript:
var configDb:NotesDatabase = sessionAsSigner.getDatabase( "dev01", "config.nsf" ) ;
var view:NotesView = configDb.getView("contentTemplates") ;
var doc:NotesDocument = view.getDocumentByKey( "RemoteMaintenance", true ) ;
doc.getUniversalID() ;}]]>
</xp:this.documentId>
</xp:dominoDocument>
</xp:this.data>
<xp:inputRichText id="inputRichText1" readonly="true"
value="#{document1.body}">
</xp:inputRichText>

--- Ende Code ---

Zum einen fehlte action="openDocument" bei der Definition der Datenquelle. Zum anderen war das value Attribut des RTItems nicht korrekt gesetzt.

falsch:

--- Code: ---value="#{javascript:document1.body}"

--- Ende Code ---

richtig:

--- Code: ---value="#{document1.body}"

--- Ende Code ---

Gruß
Hubert

Navigation

[0] Themen-Index

Zur normalen Ansicht wechseln