- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Navigation-Funktion und Multipages
Also, ich habe eine CMS_FUNCTION, die die Sitemap nach schema.org erzeugen soll. Aktueller Code sieht (fast) so aus:
<CMS_FUNCTION name="Navigation" resultname="googleSitemap">
<CMS_PARAM name="expansionVisibility" value="all"/>
<CMS_PARAM name="wholePathSelected" value="0"/>
<CMS_PARAM name="siteMap" value="1" />
<CMS_ARRAY_PARAM name="pageRefRendering">
<CMS_ARRAY_ELEMENT index="0..100"><![CDATA[
$CMS_SET(multiPageParams, #nav.ref.getMultiPageParams(#global.language, #global.templateSet))$
$CMS_FOR(i, [0 .. multiPageParams.pageCount - 1])$
<url>
<loc>$CMS_VALUE(ref(#nav.ref, abs:1, index:i).url.replaceAll("index.xhtml",""))$</loc>
<lastmod>$CMS_VALUE(#nav.ref.page.changeDate().format("yyyy-MM-dd"),default:#startdate.format("yyyy-MM-dd"))$</lastmod>
<changefreq>$CMS_VALUE(#nav.ref.meta("mt_sitemap_changefreq"),default:"monthly")$</changefreq>
<priority>$CMS_VALUE(#nav.ref.meta("mt_sitemap_priority"),default:"0.5")$</priority>
</url>
$CMS_END_FOR$
]]></CMS_ARRAY_ELEMENT>
</CMS_ARRAY_PARAM>
</CMS_FUNCTION>
Das funktioniert soweit auch problemlos. Nun habe ich aber die Herausforderung, dass ich in der Funktion bei Multipages auf einen Wert aus dem entsprechenden Datensatz zugreifen muss. Sprich, in der Datenquelle gibt es ein Feld, welches sagt, ob z.B. eine Pressemeldung in der Sitemap auftauchen darf oder nicht.
Wie greife ich in der Nav-Funktion auf dieses Feld zu? Also sowas wie #nav.getMultipage().getDatensatz().getFeld(โxโ).getWert() wobei die rot markierten โMethodenโ nur beispielhaft sind.
Wisst Ihr, was ich benรถtige? Kรถnnt Ihr mir helfen?
Danke vorab.
Accepted Solutions
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hallo Marcus,
funktioniert denn multiPageParams.getData().get(i) in der Schleife nicht?
Wenn ich es richtig sehe, mรผsstest Du damit das gewรผnschte Entity (sofern nur ein Datensatz pro Seite ausgegeben wird) bekommen.
Viele Grรผรe
Holger
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hallo Marcus,
funktioniert denn multiPageParams.getData().get(i) in der Schleife nicht?
Wenn ich es richtig sehe, mรผsstest Du damit das gewรผnschte Entity (sofern nur ein Datensatz pro Seite ausgegeben wird) bekommen.
Viele Grรผรe
Holger
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Danke Dir Holger. Top! Ich war da schon mal, bin dann aber falsch abgebogen. Nun klappt es.

