MarcusDau
Occasional Collector

Verschachtelte CMS_INPUT_CONTENTAREALIST

Hy!

Ich habe eine CMS_INPUT_CONTENTAREALIST, die wie folgt aussieht:

<CMS_INPUT_CONTENTAREALIST name="db_sections" allowEmpty="no" hFill="yes" rows="10">
    <LANGINFOS>
      <LANGINFO lang="*" label="Elements" description=""/>
    </LANGINFOS>
    <SOURCES>
      <TEMPLATE name="contentbox"/>
    </SOURCES>
  </CMS_INPUT_CONTENTAREALIST>

Das Template contentbox enthält wiederum eine CMS_INPUT_CONTENTAREALIST

<CMS_INPUT_CONTENTAREALIST name="st_sections" allowEmpty="no" hFill="yes" rows="10">
    <LANGINFOS>
      <LANGINFO lang="*" label="Elements" description=""/>
    </LANGINFOS>
    <SOURCES>
      <TEMPLATE name="st_text"/>
      <TEMPLATE name="st_freunde_werben"/>
      <TEMPLATE name="st_herausgeber"/>
      <TEMPLATE name="st_tarifrechnerlink_nl"/>
      <TEMPLATE name="st_kuendigungstippslink_nl"/>
      <TEMPLATE name="st_praemie_kassieren"/>
    </SOURCES>
  </CMS_INPUT_CONTENTAREALIST>

Die erste Liste übergebe ich an ein Template wie folgt:

$CMS_RENDER(template:"newsletter_inhalt",headline:#row.headline,sections:#row.sections,anrede:anrede)$

In dem Template steht dann folgendes:

$CMS_FOR(section, sections)$
<table width="570" cellspacing="0" cellpadding="0" border="0" bgcolor="#F4F4F4">
    <tbody>
        <tr>
            <td>
            $CMS_FOR(sectionInhalt, ???)$
                $CMS_VALUE(sectionInhalt)$
            $CMS_END_FOR$
            </td>
        </tr>
    </tbody>
</table>
$CMS_END_FOR$

Wie kann ich hier auf die Inhalte der st_sections zugreifen? Was muss ich an Stelle der ??? eintragen, oder muss es ganz anders laufen?

Grüße

Marcus

0 Kudos
2 Replies
feddersen
Community Manager

Das innere FOR sollte

$CMS_FOR(sectionInhalt, st_sections)$
  $CMS_VALUE(sectionInhalt)$
$CMS_END_FOR$

sein, da die innere CONTENTAREALIST st_sections heißt.

Hat es einen speziellen Grund, wieso Sie im CMS_RENDER-Aufruf #row.sections übergeben und nicht db_sections? Ein Mischmasch zwischen Eingabekomponenten und der Verwendung von #row.Spaltename führt erfahrungsgemäß zu Verwirrungen. Zumindest innerhalb einer Vorlage sollte man es einheitlich umsetzen.

0 Kudos
Alexander_Haufl
I'm new here

Wieso machen Sie diese Ausgabe :

$CMS_FOR(sectionInhalt, ???)$
     $CMS_VALUE(sectionInhalt)$
$CMS_END_FOR$

nicht im Html-Reiter der contentbox?

Ausgabe im Html-Reiter der contentbox:

$CMS_FOR(sectionInhalt, st_section)$
     $CMS_VALUE(sectionInhalt)$
$CMS_END_FOR$

und dann

$CMS_FOR(section, db_sections)$
<table width="570" cellspacing="0" cellpadding="0" border="0" bgcolor="#F4F4F4">
    <tbody>
        <tr>
            <td>
                 $CMS_VALUE(section)$
            </td>
        </tr>
    </tbody>
</table>
$CMS_END_FOR$

0 Kudos