Autor Thema: XPages: "Angezeigtes" Bild aus RichText-Feld 1:1 übernehmen  (Gelesen 8111 mal)

Offline Tobias211

  • Frischling
  • *
  • Beiträge: 15
  • Geschlecht: Männlich
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

- Tobias -

>Irgendwie muss es gehen.....Geht nicht....Gibt`s nicht!<

Offline Tobias211

  • Frischling
  • *
  • Beiträge: 15
  • Geschlecht: Männlich
Re: XPages: "Angezeigtes" Bild aus RichText-Feld 1:1 übernehmen
« Antwort #1 am: 12.10.12 - 12:11:26 »
-gelöscht-
« Letzte Änderung: 12.10.12 - 14:19:55 von Tobias211 »
- Tobias -

>Irgendwie muss es gehen.....Geht nicht....Gibt`s nicht!<

Offline Sven Hasselbach

  • Senior Mitglied
  • ****
  • Beiträge: 316
  • Geschlecht: Männlich
    • blog@hasselba.ch
Re: XPages: "Angezeigtes" Bild aus RichText-Feld 1:1 übernehmen
« Antwort #2 am: 16.10.12 - 09:35:46 »
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>

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" />

Das ist in meinen Augen der einfachste Weg...

Offline HH

  • Senior Mitglied
  • ****
  • Beiträge: 339
  • Geschlecht: Männlich
Re: XPages: "Angezeigtes" Bild aus RichText-Feld 1:1 übernehmen
« Antwort #3 am: 05.08.15 - 21:14:01 »
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>

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

Danke vorab,
Hubert

Offline HH

  • Senior Mitglied
  • ****
  • Beiträge: 339
  • Geschlecht: Männlich
Re: XPages: "Angezeigtes" Bild aus RichText-Feld 1:1 übernehmen
« Antwort #4 am: 06.08.15 - 08:57:43 »
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>

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}"

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

Gruß
Hubert

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz