RZoller
Returning Observer

Wo ist das .ref aus der Dokumentation von CMS_INPUT_LINK geblieben?

Hallo zusammen,

ich habe ein Formular gebaut, in dem die Redakteure einen Link mit einem bestimmten Linktemplate eingeben müssen mit

<CMS_INPUT_LINK name="cs_link" allowEmpty="no" hFill="yes" useLanguages="no">
        <LANGINFOS>
          <LANGINFO lang="*" label="Link (Pflichtfeld)"/>
          <LANGINFO lang="EN" label="Link (mandatory field)"/>
        </LANGINFOS>
        <LINKEDITORS>
          <LINKEDITOR name="internal_link"/>
        </LINKEDITORS>
</CMS_INPUT_LINK>

In einer weiteren Vorlage benötige ich jetzt nur noch die Referenz (an einer anderen Stelle verwenden wir den Link komplett mit dem Linktemplate) und ich habe versucht wie im Dokubeispiel mit link.ref an diesen zu kommen. Das ergibt jederzeit null. Erst mit link.getData().get("sitestoreref").getEditor().get(null).getPageRef() komme ich an das Objekt heran.

Ist die Dokumentation nicht mehr aktuell oder mache ich da etwas falsch?!?

Viele Grüße

René Zoller

Labels (2)
0 Kudos
1 Reply
C_Klingbeil
I'm new here

Re: Wo ist das .ref aus der Dokumentation von CMS_INPUT_LINK geblieben?

Hallo Herr Zoller,

wie es aussieht haben Sie einen internen Link. Dann bekommen Sie die Referenz über #link.sitestoreref, denn #link.ref geht nur bei externen Links. Mir ist jedenfalls nicht bekannt, dass sich das von FS 4.1 zu FS 4.2 geändert hätte. Oder haben Sie einen generischen Link als Verweisvorlage? Falls Sie externe und interne Links zulassen wollen, können Sie sich die Referenz in eine CMS_SET Variable speichern und diese dann ausgeben:

$CMS_SET(myLinkRef,"#")$

$CMS_IF(!myLinkObject.ref.isEmpty)$ <-- externer Link?

     $CMS_SET(myLinkRef,myLinkObject.ref)$

$CMS_ELSIF(!myLinkObject.sitestoreref.isEmpty)$ <-- interner Link?

     $CMS_SET(myLinkRef,myLinkObject.sitestoreref)$

$CMS_END_IF$

<a href="$CMS_VALUE(myLinkRef)$">My Link</a>

Hilft Ihnen das weiter?

Grüße,

C. Klingbeil

0 Kudos