- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
WEBeditInplaceBody nicht in For-Schleife einsetzbar Alternative?
Hallo,
eine Frage zu Content Highlighting:
Durch WEBeditInplaceBody kรถnnen ja Inhaltsbereichen hervorgehoben werden und die jeweiligen Inhaltsbereiches werden direkt ausgegeben.
Wird nun der Inhaltsbereich nicht wie normalerweise รผber $CMS_VALUE(#globa.page.body("content"))$
sondern รผber eine For-Schleife eingebunden:
$CMS_FOR(myContent,#global.page.body("content").children.toList)$
$CMS_VALUE(myContent)$
.....
$CMS_VALUE(myContent)$
$CMS_END_IF$
ersetzt der $CMS_RENDER(template:"WEBeditInplaceBody", name:"content")$ Highlighting-Renderaufruf nicht die For-Schleife.
wie kann ich denn die Inhaltsbereiche die รผber eine For-Schleife eingebunden werden, dennoch Highlighten?
Schรถne Grรผรe
Christina
- Labels:
-
Developers
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Ich wรผrde die einzelnen Bereiche folgendermaรen highlighten:
$CMS_RENDER(template:"WEBeditInplaceEditBegin")$$CMS_RENDER(template:"WEBeditInplaceAttributeBegin", name:"
myContentLAUFENDENUMMER")$$CMS_VALUE(
myContent)$$CMS_RENDER(template:"WEBeditInplaceAttributeEnd")$$CMS_RENDER(template:"WEBeditInplaceEditEnd")$
Code ungetestet, sollte aber so ungefรคhr funktionieren.
Grรผรe
Marcus
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hallo Marcus,
Danke fรผr die schnelle Antwort, aber leider funktioniert es nicht.
Und ich denke es wรผrde auch eher die einzelnen Absรคtze, die in diesem Inhaltsbereich enthalten sind, Highlighten,
aber nicht den gesamten Inhaltsbereich, wenn man auf diesen klickt.
Sonst noch irgendwelche Ideen?
Schรถne Grรผรe
Christina
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hallo Christina,
$CMS_FOR(myContent,#global.page.body("content").children.toList)$
$CMS_VALUE(myContent)$
.....
$CMS_VALUE(myContent)$
$CMS_END_IF$
abgesehen davon, dass ich nicht weiss ob das abschlieรende $CMS_END_IF$ hier vielleicht ein $CMS_END_FOR$ sein sollte, frage ich mich, warum man sowas macht.
wie kann ich denn die Inhaltsbereiche die รผber eine For-Schleife eingebunden werden, dennoch Highlighten?
Genau das passiert ja durch den obigen Templatecode NICHT, sondern es werden die Absรคtze in der Schleife ausgegeben und das sogar noch mehrfach (doppeltes $CMS_VALUE(myContent)$).
Also: welcher Anwendungsfall steckt dahinter, die Absatziteration selbst zu machen und nicht FirstSpirit zu รผberlassen?
Noch ein genereller Hinweis:
Das $CMS_FOR kann mit dem Iterable welches von der Methode "children" zurรผckgeliefert wird, direkt umgehen. Es sollte also vermieden werden #toList() aufzurufen.
Ist:
$CMS_FOR(myContent,#global.page.body("content").children.toList)$
Soll:
$CMS_FOR(myContent,#global.page.body("content").children)$
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Guten Morgen Herr Gockel,
Ich habe mich leider verschrieben in der Eile, das $CMS_END_IF$ sollte natรผrlich ein $CMS_END_FOR$ sein ๐
Nun zu Ihrer Frage, mein Anwendungsfall ist dieser, ich habe in meiner Marginalspalte immer das gleiche CSS fรผr die eingebundenen Absรคtze, bis auf der letzte Absatz, der soll ein eigenes CSS erhalten deshalb die FOR-Schleife in der abgefragt wird, ob es die letzte Iteration ist und dann wird eine Variable gesetzt.
$CMS_FOR(myMargin,#global.page.body("marginal").children)$
$CMS_IF(#for.isLast)$$CMS_SET(setLast,"last")$$CMS_END_IF$
$CMS_VALUE(myMargin,default:"")$
$CMS_END_FOR$
vielleicht ist es auch ganz einfach, aber ich entwickle noch nicht lange in FirstSpirit und habe schon das ein oder andere ausprobiert, aber leider noch nicht den gewรผnschten Erfolg gehabt.
und danke fรผr den Tipp mit #toList(). Das wusste ich gar nicht.
Schรถne Grรผรe
Christina
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hallo Christina,
ich wรผrde das so lรถsen:
Im Seitentemplate die ID des letzten Absatzes ermitteln:
$CMS_FOR(section,#global.page.body("marginal").children)$
$CMS_IF(section.isInOutputIncluded(#global.language) && section.isInLifespan())$$CMS_SET(lastSectionId,section.id)$
$CMS_END_IF$
$CMS_END_FOR$
Die Absรคtze ganz normal ausgeben mittels $CMS_VALUE(#global.page.body("marginal"))$
Bei der Angabe des CSS fรผr die Absรคtze prรผfen, ob die ID des aktuellen Absatzes die ID des letzten Absatzes ist und entsprechend das korrekte CSS ausgeben.
$CMS_IF(#global.section.id=lastSectionId)$
"CSS des letzten Absatzes"
$CMS_ELSE$
"Standard CSS"
$CMS_END_IF$
Tipp: Beim manuellen Iterieren รผber Kinder jeder Art sollte immer berรผcksichtigt werden, ob diese Kinder wirklich alle gรผltig sind.
Absรคtze kรถnnen sprachabhรคngig ausgeblendet werden, zeitlich begrenzte Anzeigedauern haben {ist nun beides im Beispiel berรผcksichtigt}, Menรผebenen kรถnnen aus der Navigation und/oder Sitemap ausgeblendet werden, Seiten mรผssen nicht immer รผbersetzt sein...
Viele Grรผsse aus Dortmund,
Holger

