katoo
I'm new here

Den Wert eines Element der Seitenvorlage in Beanshell-Script auslesen

Jump to solution

Hallo,  für die Indizierung meiner Seiten gehe ich Seite für Seite durch und möchte gerne den Wert , welches ein Element in der Seitenvorlage ist, mitindizieren. Wie kann ich diesen Wert aus dem Beanshell-Script auslesen? Ist das möglich?  Danke!

0 Kudos
1 Solution

Accepted Solutions

Wenn x deine Seiten-Referenz ist, dann liefert

x.getPage().getFormData().get(<Sprache>, "pt_ueberschrift").get()

den Wert des Feldes in der zugehörigen Seite in der gewünschten Sprache.

Peter

View solution in original post

0 Kudos
5 Replies
Peter_Jodeleit
Crownpeak employee

Was ist denn mit "[der] Wert , welches ein Element in der Seitenvorlage ist" gemeint?

Peter
0 Kudos
katoo
I'm new here

Hallo, beim Posting ist ein Teil leider rausgefallen:   CMS_INPUT_TEXT name="pt_ueberschrift" allowEmpty="no" convertEntities="none" hFill="yes" singleLine="no" ..  Und das ist die Überschrift der Seite.  Diesen Wert will ich dann beim Indizieren mitsichern, damit ich bei Treffer, diesen Wert ausgeben kann.

0 Kudos

Wenn x deine Seiten-Referenz ist, dann liefert

x.getPage().getFormData().get(<Sprache>, "pt_ueberschrift").get()

den Wert des Feldes in der zugehörigen Seite in der gewünschten Sprache.

Peter
0 Kudos

Danke, hat funktioniert!

0 Kudos

Hallo,  jetzt habe ich eine andere Frage: Bei der Indizierung meiner Seiten lese ich den Inhalt der Seiten mit pageRef.getPage().getBodyByName("center").getChildren().toList().get(i).getData().toString().trim().replaceAll("<[^>]*>"," ") raus und schreib ihn in ein String. mit replaceAll() filtere ich die ganzen Tags heraus. Nur scheint es so, dass alle Bild- und Linkabsätze etc in ihren Tags noch Begriffe wie  MEDIASTORE_LEAF, SITESTORE_LEAF etc beinhalten. Diese werden leider nicht rausgefiltert. Meine Frage ist nur wie ich aus meinen Seiten alle Absätze, die einen bestimmten Namen haben, wie etwa st_link, st_bild, herausfiltere. Denn auf pageRef.getPage().getBodyByName("center").getChildren() Ebene komme ich nicht mehr an getFormData() heran um den Namen abzuprüfen. Habe versucht den Inhalt mit regex nach MEDIASTORE_LEAF abzuprüfen, aber das macht die Indizierung unendlich langsam.

0 Kudos