Questions & Answers

SOLVED
MarcusDau
Occasional Collector

Navigation-Funktion und Multipages

Jump to solution

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.

0 Kudos
1 Solution

Accepted Solutions
hoebbel
Crownpeak employee

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

View solution in original post

2 Replies
hoebbel
Crownpeak employee

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

MarcusDau
Occasional Collector

Danke Dir Holger. Top! Ich war da schon mal, bin dann aber falsch abgebogen. Nun klappt es.

 

0 Kudos

Type a product name