Zum Hauptinhalt gehen

FS-Integration / XML-Felder / Tabellenvorlagen

Kommentare

5 Kommentare

  • Zendesk API User
    Author: ACordes - 4/30/2012 8:36

    Offenbar führt ja kein Weg daran vorbei, für jede Ausgabe eine Extra-Seite zu erzeugen und in die Ausgabe mittels JSP-Include einzubinden.

    Ich habe eine Extra-Tabellenvorlage ("Teaser Pressemeldung") angelegt, eine Extra-Seitenvorlage angelegt, die mir Plain den gewünschten Output generiert, in der Struktur verlinkt und in meine Absatzvorlage mittels <c:import url="$CMS_REF…"> eingebunden.

    Ein Problem habe ich jetzt aber noch: kann ich irgendwie die FirstSpirit-Anmeldung für die Preview umgehen? Da ja keine Session besteht, wird mir in die Ausgabe nur das Login-Formular generiert. Kann ich die Abfrage evtl. ganz deaktivieren?

    0
  • Zendesk API User
    Author: rrichter - 4/30/2012 12:29

    Hallo,

    wenn man im <c:import>-Tag das Attribut "context" auf das Preview-Verzeichnis des Projekts setzt, dann sollte die Session auch nicht verlorengehen.

    Dann noch ein paar weitere Tipps/Anmerkungen:

    Oben wundert mich die Angabe

    <a href="$CMS_REF(pageref:"press_release_detail")$/contentId=<c:out value="${article.fs_id}">Artikel lesen</a>

    Das kann doch (wenn überhaupt) nur in der Preview funktionieren, aber nicht im generierten Stand, oder sehe ich das falsch. Wenn hier eine Liste über Integration erzeugt wird, müsste man den Pfad zuvor bei der Generierung anders erzeugen und dann die ID dynamisch daran hängen, z.B. <dateiname_detailseite_ohne_extension>_<c:out value="${article.fs_id}"/>.jsp.

    Um Generierungszeit für Extra-Teaser-Detailseiten zu sparen könnte man die Detailseite nutzen, die sowieso generiert wird, und dort (wenn es eine JSP-Seite ist) über einen Request-Parameter steuern, ob die komplette Seite oder nur ein Teaserschnipsel ausgegeben wird.

    Ungefähr so:

    detail_1742.jsp?show=complete

    gibt die Detailseite komplett aus

    detail_1742.jsp?show=teaser

    gibt nur das Teaserschnipsel aus.

    Viele Grüße,

    Raphael Richter.

    0
  • Zendesk API User
    Author: ACordes - 4/30/2012 14:07

    Hallo Herr Richter,

    stimmt, ich müsste natürlich noch abfragen, ob ich in der preview oder live unterwegs bin und die Ausgabe des Links entsprechend anpassen.

    Hätten Sie evtl. ein Beispiel, was genau dann im "context"-Attribut stehen muss?

    Mit einer relativen URL würde die Session doch auch bestehen bleiben, oder? Die Angabe einer relativen URL (z. B.: "fs4preview_9474/preview/9474/site/DE/current/9477/34348/contentId=2485") gibt mir nämlich leider immer eine ResponseErrorException (404) zurück. Wobei ich auch hier nicht genau weiß, was das "url"-Attribut erwartet… Ich bin leider relativ JSP/JSTL-unerfahren.

    0
  • Zendesk API User
    Author: rrichter - 4/30/2012 14:51

    Hallo Herr Cordes,

    versuchen Sie es einmal (ohne Gewähr) hiermit:

    $CMS_IF(#global.preview)$

        $CMS_SET(set_url,ref(ss_news_detail,contentId:1742,abs:1).url)$

        $CMS_SET(set_index, set_url.indexOf('/',1))$

        $CMS_SET(set_context)$$CMS_VALUE(set_url.substring(0,set_index))$$CMS_END_SET$

        $CMS_SET(set_newUrl)$$CMS_VALUE(set_url.substring(set_index))$$CMS_END_SET$

        <fs-c:import charEncoding="$CMS_VALUE(#global.encoding)$" context="$CMS_VALUE(set_context)$" url="$CMS_VALUE(set_newUrl)$" />

    $CMS_END_IF$

    wobei "ss_news_detail" die Detailseitenreferenz ist.

    Das sollte funktionieren.

    Viele Grüße,

    Raphael Richter.

    0
  • Zendesk API User
    Author: ACordes - 4/30/2012 16:26

    Vielen Dank für das Schnipsel! Ich habe es ein wenig abgeändert und nun funktioniert die Ausgabe wie gewünscht.

    0

Bitte melden Sie sich an, um einen Kommentar zu hinterlassen.